summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2016-10-07 20:18:02 +0300
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2016-10-10 16:32:32 +0300
commit137ebcfb3cb013174f2885776a47264cffd193a6 (patch)
tree329fd6bfc33e1e393e1d5eef48211843f4eab4aa
parentfdfc93679d1ca91d4666095ba2ca732fdb273947 (diff)
downloadgitlab-ce-137ebcfb3cb013174f2885776a47264cffd193a6.tar.gz
Replace undefined Grape routing code from 400 to 404
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
-rw-r--r--CHANGELOG1
-rw-r--r--doc/api/README.md6
-rw-r--r--lib/api/api.rb2
-rw-r--r--spec/requests/api/project_hooks_spec.rb4
-rw-r--r--spec/requests/api/users_spec.rb50
5 files changed, 33 insertions, 30 deletions
diff --git a/CHANGELOG b/CHANGELOG
index aec47dd66f2..fc5e02cfd73 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -83,6 +83,7 @@ v 8.13.0 (unreleased)
- Grouped pipeline dropdown is a scrollable container
- Fix a typo in doc/api/labels.md
- API: all unknown routing will be handled with 400 Bad Request
+ - API: all unknown routing will be handled with 404 Not Found
v 8.12.5 (unreleased)
diff --git a/doc/api/README.md b/doc/api/README.md
index 8004a00659c..d47e537debc 100644
--- a/doc/api/README.md
+++ b/doc/api/README.md
@@ -357,13 +357,13 @@ follows:
## Bad request
-When you try to access API URL that does not exist you will receive 400 Bad Request.
+When you try to access API URL that does not exist you will receive 404 Not Found.
```
-HTTP/1.1 400 Bad Request
+HTTP/1.1 404 Not Found
Content-Type: application/json
{
- "error": "400 Bad Request"
+ "error": "404 Not Found"
}
```
diff --git a/lib/api/api.rb b/lib/api/api.rb
index 95a64f14ac7..99722a0a65c 100644
--- a/lib/api/api.rb
+++ b/lib/api/api.rb
@@ -75,7 +75,7 @@ module API
mount ::API::Variables
route :any, '*path' do
- error!('400 Bad Request', 400)
+ error!('404 Not Found', 404)
end
end
end
diff --git a/spec/requests/api/project_hooks_spec.rb b/spec/requests/api/project_hooks_spec.rb
index 5d739802095..cfcdcad74cd 100644
--- a/spec/requests/api/project_hooks_spec.rb
+++ b/spec/requests/api/project_hooks_spec.rb
@@ -163,10 +163,10 @@ describe API::API, 'ProjectHooks', api: true do
expect(response).to have_http_status(404)
end
- it "returns a 400 error if hook id not given" do
+ it "returns a 404 error if hook id not given" do
delete api("/projects/#{project.id}/hooks", user)
- expect(response).to have_http_status(400)
+ expect(response).to have_http_status(404)
end
it "returns a 404 if a user attempts to delete project hooks he/she does not own" do
diff --git a/spec/requests/api/users_spec.rb b/spec/requests/api/users_spec.rb
index 9537b0ec83d..f0dd0592adb 100644
--- a/spec/requests/api/users_spec.rb
+++ b/spec/requests/api/users_spec.rb
@@ -90,10 +90,10 @@ describe API::API, api: true do
expect(json_response['message']).to eq('404 Not found')
end
- it "returns a 400 if invalid ID" do
+ it "returns a 404 for invalid ID" do
get api("/users/1ASDF", user)
- expect(response).to have_http_status(400)
+ expect(response).to have_http_status(404)
end
end
@@ -341,10 +341,10 @@ describe API::API, api: true do
expect(json_response['message']).to eq('404 Not found')
end
- it "returns a 400 if invalid ID" do
+ it "returns a 404 if invalid ID" do
put api("/users/ASDF", admin)
- expect(response).to have_http_status(400)
+ expect(response).to have_http_status(404)
end
it 'returns 400 error if user does not validate' do
@@ -410,9 +410,9 @@ describe API::API, api: true do
end.to change{ user.keys.count }.by(1)
end
- it "returns 400 for invalid ID" do
+ it "returns 404 for invalid ID" do
post api("/users/999999/keys", admin)
- expect(response).to have_http_status(400)
+ expect(response).to have_http_status(404)
end
end
@@ -496,9 +496,10 @@ describe API::API, api: true do
end.to change{ user.emails.count }.by(1)
end
- it "raises error for invalid ID" do
+ it "returns a 404 for invalid ID" do
post api("/users/999999/emails", admin)
- expect(response).to have_http_status(400)
+
+ expect(response).to have_http_status(404)
end
end
@@ -528,10 +529,10 @@ describe API::API, api: true do
expect(json_response.first['email']).to eq(email.email)
end
- it "returns a 400 for invalid ID" do
+ it "returns a 404 for invalid ID" do
put api("/users/ASDF/emails", admin)
- expect(response).to have_http_status(400)
+ expect(response).to have_http_status(404)
end
end
end
@@ -570,10 +571,10 @@ describe API::API, api: true do
expect(json_response['message']).to eq('404 Email Not Found')
end
- it "returns a 400 for invalid ID" do
+ it "returns a 404 for invalid ID" do
delete api("/users/ASDF/emails/bar", admin)
- expect(response).to have_http_status(400)
+ expect(response).to have_http_status(404)
end
end
end
@@ -606,10 +607,10 @@ describe API::API, api: true do
expect(json_response['message']).to eq('404 User Not Found')
end
- it "returns a 400 for invalid ID" do
+ it "returns a 404 for invalid ID" do
delete api("/users/ASDF", admin)
- expect(response).to have_http_status(400)
+ expect(response).to have_http_status(404)
end
end
@@ -662,6 +663,7 @@ describe API::API, api: true do
it "returns 404 Not Found within invalid ID" do
get api("/user/keys/42", user)
+
expect(response).to have_http_status(404)
expect(json_response['message']).to eq('404 Not found')
end
@@ -675,10 +677,10 @@ describe API::API, api: true do
expect(json_response['message']).to eq('404 Not found')
end
- it "returns 400 for invalid ID" do
+ it "returns 404 for invalid ID" do
get api("/users/keys/ASDF", admin)
- expect(response).to have_http_status(400)
+ expect(response).to have_http_status(404)
end
end
@@ -736,10 +738,10 @@ describe API::API, api: true do
expect(response).to have_http_status(401)
end
- it "returns a 400 for invalid ID" do
+ it "returns a 404 for invalid ID" do
delete api("/users/keys/ASDF", admin)
- expect(response).to have_http_status(400)
+ expect(response).to have_http_status(404)
end
end
@@ -787,10 +789,10 @@ describe API::API, api: true do
expect(json_response['message']).to eq('404 Not found')
end
- it "returns 400 for invalid ID" do
+ it "returns 404 for invalid ID" do
get api("/users/emails/ASDF", admin)
- expect(response).to have_http_status(400)
+ expect(response).to have_http_status(404)
end
end
@@ -837,10 +839,10 @@ describe API::API, api: true do
expect(response).to have_http_status(401)
end
- it "returns a 400 for invalid ID" do
+ it "returns a 404 for invalid ID" do
delete api("/users/emails/ASDF", admin)
- expect(response).to have_http_status(400)
+ expect(response).to have_http_status(404)
end
end
@@ -905,10 +907,10 @@ describe API::API, api: true do
expect(json_response['message']).to eq('404 User Not Found')
end
- it "returns a 400 for invalid ID" do
+ it "returns a 404 for invalid ID" do
put api("/users/ASDF/block", admin)
- expect(response).to have_http_status(400)
+ expect(response).to have_http_status(404)
end
end
end