diff options
Diffstat (limited to 'spec/lib/gitlab/middleware/go_spec.rb')
-rw-r--r-- | spec/lib/gitlab/middleware/go_spec.rb | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/spec/lib/gitlab/middleware/go_spec.rb b/spec/lib/gitlab/middleware/go_spec.rb index 1fffef53a82..7bac041cd65 100644 --- a/spec/lib/gitlab/middleware/go_spec.rb +++ b/spec/lib/gitlab/middleware/go_spec.rb @@ -135,6 +135,17 @@ RSpec.describe Gitlab::Middleware::Go do it_behaves_like 'unauthorized' end + + context 'with a blacklisted ip' do + it 'returns forbidden' do + expect(Gitlab::Auth).to receive(:find_for_git_client).and_raise(Gitlab::Auth::IpBlacklisted) + response = go + + expect(response[0]).to eq(403) + expect(response[1]['Content-Length']).to be_nil + expect(response[2]).to eq(['']) + end + end end end end @@ -176,10 +187,11 @@ RSpec.describe Gitlab::Middleware::Go do it 'returns 404' do response = go + expect(response[0]).to eq(404) expect(response[1]['Content-Type']).to eq('text/html') expected_body = %{<html><body>go get #{Gitlab.config.gitlab.url}/#{project.full_path}</body></html>} - expect(response[2].body).to eq([expected_body]) + expect(response[2]).to eq([expected_body]) end end @@ -251,7 +263,7 @@ RSpec.describe Gitlab::Middleware::Go do expect(response[0]).to eq(200) expect(response[1]['Content-Type']).to eq('text/html') expected_body = %{<html><head><meta name="go-import" content="#{Gitlab.config.gitlab.host}/#{path} git #{repository_url}" /><meta name="go-source" content="#{Gitlab.config.gitlab.host}/#{path} #{project_url} #{project_url}/-/tree/#{branch}{/dir} #{project_url}/-/blob/#{branch}{/dir}/{file}#L{line}" /></head><body>go get #{Gitlab.config.gitlab.url}/#{path}</body></html>} - expect(response[2].body).to eq([expected_body]) + expect(response[2]).to eq([expected_body]) end end end |