diff options
Diffstat (limited to 'spec/lib/gitlab/ci/config/external/processor_spec.rb')
-rw-r--r-- | spec/lib/gitlab/ci/config/external/processor_spec.rb | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/spec/lib/gitlab/ci/config/external/processor_spec.rb b/spec/lib/gitlab/ci/config/external/processor_spec.rb index d2d7116bb12..d657c3e943f 100644 --- a/spec/lib/gitlab/ci/config/external/processor_spec.rb +++ b/spec/lib/gitlab/ci/config/external/processor_spec.rb @@ -366,5 +366,40 @@ RSpec.describe Gitlab::Ci::Config::External::Processor do expect(output.keys).to match_array([:image, :my_build, :my_test]) end end + + context 'when local file path has wildcard' do + let_it_be(:project) { create(:project, :repository) } + + let(:values) do + { include: 'myfolder/*.yml', image: 'ruby:2.7' } + end + + before do + allow_next_instance_of(Repository) do |repository| + allow(repository).to receive(:search_files_by_wildcard_path).with('myfolder/*.yml', sha) do + ['myfolder/file1.yml', 'myfolder/file2.yml'] + end + + allow(repository).to receive(:blob_data_at).with(sha, 'myfolder/file1.yml') do + <<~HEREDOC + my_build: + script: echo Hello World + HEREDOC + end + + allow(repository).to receive(:blob_data_at).with(sha, 'myfolder/file2.yml') do + <<~HEREDOC + my_test: + script: echo Hello World + HEREDOC + end + end + end + + it 'fetches the matched files' do + output = processor.perform + expect(output.keys).to match_array([:image, :my_build, :my_test]) + end + end end end |