Skip to content
Snippets Groups Projects
Commit ccb29955 authored by Jacob Vosmaer's avatar Jacob Vosmaer
Browse files

More tests, better descriptions

parent 91226c20
No related branches found
No related tags found
1 merge request!3361Dismantling Grack::Auth part 1: Git HTTP clients
Loading
Loading
@@ -12,7 +12,7 @@ describe 'Git HTTP requests', lib: true do
 
context "when the project doesn't exist" do
context "when no authentication is provided" do
it "responds with status 401" do
it "responds with status 401 (no project existence information leak)" do
download('doesnt/exist.git') do |response|
expect(response.status).to eq(401)
end
Loading
Loading
@@ -110,11 +110,17 @@ describe 'Git HTTP requests', lib: true do
end
 
context "when no authentication is provided" do
it "responds with status 401" do
it "responds with status 401 to downloads" do
download(path, env) do |response|
expect(response.status).to eq(401)
end
end
it "responds with status 401 to uploads" do
upload(path, env) do |response|
expect(response.status).to eq(401)
end
end
end
 
context "when username and password are provided" do
Loading
Loading
@@ -159,7 +165,7 @@ describe 'Git HTTP requests', lib: true do
end
 
context "when the user isn't blocked" do
it "downloads status 200" do
it "downloads get status 200" do
expect(Rack::Attack::Allow2Ban).to receive(:reset)
 
clone_get(path, env)
Loading
Loading
@@ -222,15 +228,24 @@ describe 'Git HTTP requests', lib: true do
end
 
context "when a gitlab ci token is provided" do
it "responds with status 200" do
token = "123"
project = FactoryGirl.create :empty_project
let(:token) { 123 }
let(:project) { FactoryGirl.create :empty_project }
before do
project.update_attributes(runners_token: token, builds_enabled: true)
end
 
it "downloads get status 200" do
clone_get "#{project.path_with_namespace}.git", user: 'gitlab-ci-token', password: token
 
expect(response.status).to eq(200)
end
it "uploads get status 401 (no project existence information leak)" do
push_get "#{project.path_with_namespace}.git", user: 'gitlab-ci-token', password: token
expect(response.status).to eq(401)
end
end
end
end
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment