Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'spec/lib/gitlab/ci/components/instance_path_spec.rb')
-rw-r--r--spec/lib/gitlab/ci/components/instance_path_spec.rb14
1 files changed, 14 insertions, 0 deletions
diff --git a/spec/lib/gitlab/ci/components/instance_path_spec.rb b/spec/lib/gitlab/ci/components/instance_path_spec.rb
index 0bdcfcfd546..4ba963b54b5 100644
--- a/spec/lib/gitlab/ci/components/instance_path_spec.rb
+++ b/spec/lib/gitlab/ci/components/instance_path_spec.rb
@@ -84,6 +84,20 @@ RSpec.describe Gitlab::Ci::Components::InstancePath, feature_category: :pipeline
end
end
+ shared_examples 'prevents infinite loop' do |prefix|
+ context "when the project path starts with '#{prefix}'" do
+ let(:project_path) { "#{prefix}#{project.full_path}" }
+
+ it 'returns nil' do
+ result = path.fetch_content!(current_user: user)
+ expect(result).to be_nil
+ end
+ end
+ end
+
+ it_behaves_like 'prevents infinite loop', '/'
+ it_behaves_like 'prevents infinite loop', '//'
+
context 'when fetching the latest version of a component' do
let_it_be(:project) do
create(