diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2023-03-01 00:09:51 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2023-03-01 00:09:51 +0000 |
commit | 6b75388b67c35271bc18f2dbd41a72accd927808 (patch) | |
tree | 0e905919b117b731ea22ef629f45701e6124c1ee /spec | |
parent | 260c87f94ecc8802de4f7cd16d10c0a08d19559c (diff) | |
download | gitlab-ce-6b75388b67c35271bc18f2dbd41a72accd927808.tar.gz |
Add latest changes from gitlab-org/gitlab@15-9-stable-ee
Diffstat (limited to 'spec')
-rw-r--r-- | spec/lib/gitlab/http_connection_adapter_spec.rb | 14 | ||||
-rw-r--r-- | spec/lib/gitlab/octokit/middleware_spec.rb | 31 | ||||
-rw-r--r-- | spec/lib/gitlab/url_blocker_spec.rb | 11 |
3 files changed, 21 insertions, 35 deletions
diff --git a/spec/lib/gitlab/http_connection_adapter_spec.rb b/spec/lib/gitlab/http_connection_adapter_spec.rb index 5137e098e2d..5e2c6be8993 100644 --- a/spec/lib/gitlab/http_connection_adapter_spec.rb +++ b/spec/lib/gitlab/http_connection_adapter_spec.rb @@ -111,6 +111,20 @@ RSpec.describe Gitlab::HTTPConnectionAdapter do end end + context 'when http(s) environment variable is set' do + before do + stub_env('https_proxy' => 'https://my.proxy') + end + + it 'sets up the connection' do + expect(connection).to be_a(Gitlab::NetHttpAdapter) + expect(connection.address).to eq('example.org') + expect(connection.hostname_override).to eq(nil) + expect(connection.addr_port).to eq('example.org') + expect(connection.port).to eq(443) + end + end + context 'when URL scheme is not HTTP/HTTPS' do let(:uri) { URI('ssh://example.org') } diff --git a/spec/lib/gitlab/octokit/middleware_spec.rb b/spec/lib/gitlab/octokit/middleware_spec.rb index f7063f2c4f2..5555990b113 100644 --- a/spec/lib/gitlab/octokit/middleware_spec.rb +++ b/spec/lib/gitlab/octokit/middleware_spec.rb @@ -6,7 +6,7 @@ RSpec.describe Gitlab::Octokit::Middleware, feature_category: :importers do let(:app) { double(:app) } let(:middleware) { described_class.new(app) } - shared_examples 'Allowed URL' do + shared_examples 'Public URL' do it 'does not raise an error' do expect(app).to receive(:call).with(env) @@ -14,7 +14,7 @@ RSpec.describe Gitlab::Octokit::Middleware, feature_category: :importers do end end - shared_examples 'Blocked URL' do + shared_examples 'Local URL' do it 'raises an error' do expect { middleware.call(env) }.to raise_error(Gitlab::UrlBlocker::BlockedUrlError) end @@ -24,24 +24,7 @@ RSpec.describe Gitlab::Octokit::Middleware, feature_category: :importers do context 'when the URL is a public URL' do let(:env) { { url: 'https://public-url.com' } } - it_behaves_like 'Allowed URL' - - context 'with failed address check' do - before do - stub_env('RSPEC_ALLOW_INVALID_URLS', 'false') - allow(Addrinfo).to receive(:getaddrinfo).and_raise(SocketError) - end - - it_behaves_like 'Blocked URL' - - context 'with disabled dns rebinding check' do - before do - stub_application_setting(dns_rebinding_protection_enabled: false) - end - - it_behaves_like 'Allowed URL' - end - end + it_behaves_like 'Public URL' end context 'when the URL is a localhost address' do @@ -52,7 +35,7 @@ RSpec.describe Gitlab::Octokit::Middleware, feature_category: :importers do stub_application_setting(allow_local_requests_from_web_hooks_and_services: false) end - it_behaves_like 'Blocked URL' + it_behaves_like 'Local URL' end context 'when localhost requests are allowed' do @@ -60,7 +43,7 @@ RSpec.describe Gitlab::Octokit::Middleware, feature_category: :importers do stub_application_setting(allow_local_requests_from_web_hooks_and_services: true) end - it_behaves_like 'Allowed URL' + it_behaves_like 'Public URL' end end @@ -72,7 +55,7 @@ RSpec.describe Gitlab::Octokit::Middleware, feature_category: :importers do stub_application_setting(allow_local_requests_from_web_hooks_and_services: false) end - it_behaves_like 'Blocked URL' + it_behaves_like 'Local URL' end context 'when local network requests are allowed' do @@ -80,7 +63,7 @@ RSpec.describe Gitlab::Octokit::Middleware, feature_category: :importers do stub_application_setting(allow_local_requests_from_web_hooks_and_services: true) end - it_behaves_like 'Allowed URL' + it_behaves_like 'Public URL' end end diff --git a/spec/lib/gitlab/url_blocker_spec.rb b/spec/lib/gitlab/url_blocker_spec.rb index 0d037984799..05f7af7606d 100644 --- a/spec/lib/gitlab/url_blocker_spec.rb +++ b/spec/lib/gitlab/url_blocker_spec.rb @@ -174,17 +174,6 @@ RSpec.describe Gitlab::UrlBlocker, :stub_invalid_dns_only do expect { subject }.to raise_error(described_class::BlockedUrlError) end - - context 'with HTTP_PROXY' do - before do - allow(Gitlab).to receive(:http_proxy_env?).and_return(true) - end - - it_behaves_like 'validates URI and hostname' do - let(:expected_uri) { import_url } - let(:expected_hostname) { nil } - end - end end context 'when domain is too long' do |