BigW Consortium Gitlab

Commit 1a01fc0c by Sebastian Ziebell

API: tests to show incorrect behavior when reaching project limit

When reaching the project limit the API returns an error code 404 on the last possible project. The project itself is created and is available in the database (seems valid). A similar behavior can be observed when reaching the project limit via web client, but in this case the user is notified that the maximum number of projects is reached. The project itself is still created and can be accessed. Tests are added to check the behavior when reaching the project limit or one tries to exceed it via the API.
parent 6b24c375
...@@ -33,6 +33,20 @@ describe Gitlab::API do ...@@ -33,6 +33,20 @@ describe Gitlab::API do
end end
describe "POST /projects" do describe "POST /projects" do
context "maximum number of projects reached" do
before do
(1..user2.projects_limit).each do |project|
post api("/projects", user2), name: "foo#{project}"
end
end
it "should not create new project" do
expect {
post api("/projects", user2), name: 'foo'
}.to change {Project.count}.by(0)
end
end
it "should create new project without path" do it "should create new project without path" do
expect { post api("/projects", user), name: 'foo' }.to change {Project.count}.by(1) expect { post api("/projects", user), name: 'foo' }.to change {Project.count}.by(1)
end end
...@@ -41,6 +55,12 @@ describe Gitlab::API do ...@@ -41,6 +55,12 @@ describe Gitlab::API do
expect { post api("/projects", user) }.to_not change {Project.count} expect { post api("/projects", user) }.to_not change {Project.count}
end end
it "should create last project before reaching project limit" do
(1..user2.projects_limit-1).each { |p| post api("/projects", user2), name: "foo#{p}" }
post api("/projects", user2), name: "foo"
response.status.should == 201
end
it "should respond with 201 on success" do it "should respond with 201 on success" do
post api("/projects", user), name: 'foo' post api("/projects", user), name: 'foo'
response.status.should == 201 response.status.should == 201
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment