Skip to content
Snippets Groups Projects
Commit bb24275f authored by Sebastian Ziebell's avatar Sebastian Ziebell
Browse files

Status code 400 is returned if body is missing on note creation.

If a note is created with a POST request via API (`/projects/:id/notes`) status
code 400 is returned instead of 404. The resource itself exists but the request
is incomplete. Specs added to check different status codes when accessing, creating
and updating notes.
parent b9d40d25
No related branches found
No related tags found
1 merge request!2835Fix API return codes
Loading
Loading
@@ -43,6 +43,8 @@ module Gitlab
if @note.save
present @note, with: Entities::Note
else
# :note is exposed as :body, but :note is set on error
error!(@note.errors[:note], 400) if @note.errors[:note].any?
not_found!
end
end
Loading
Loading
Loading
Loading
@@ -36,6 +36,11 @@ describe Gitlab::API do
response.status.should == 200
json_response['body'].should == wall_note.note
end
it "should return a 404 error if note not found" do
get api("/projects/#{project.id}/notes/123", user)
response.status.should == 404
end
end
 
describe "POST /projects/:id/notes" do
Loading
Loading
@@ -44,6 +49,11 @@ describe Gitlab::API do
response.status.should == 201
json_response['body'].should == 'hi!'
end
it "should return a 400 error if body is missing" do
post api("/projects/#{project.id}/notes", user)
response.status.should == 400
end
end
 
describe "GET /projects/:id/noteable/:noteable_id/notes" do
Loading
Loading
@@ -54,6 +64,11 @@ describe Gitlab::API do
json_response.should be_an Array
json_response.first['body'].should == issue_note.note
end
it "should return a 404 error when issue id not found" do
get api("/projects/#{project.id}/issues/123/notes", user)
response.status.should == 404
end
end
 
context "when noteable is a Snippet" do
Loading
Loading
@@ -63,6 +78,11 @@ describe Gitlab::API do
json_response.should be_an Array
json_response.first['body'].should == snippet_note.note
end
it "should return a 404 error when snippet id not found" do
get api("/projects/#{project.id}/snippets/42/notes", user)
response.status.should == 404
end
end
end
 
Loading
Loading
@@ -73,6 +93,11 @@ describe Gitlab::API do
response.status.should == 200
json_response['body'].should == issue_note.note
end
it "should return a 404 error if issue note not found" do
get api("/projects/#{project.id}/issues/#{issue.id}/notes/123", user)
response.status.should == 404
end
end
 
context "when noteable is a Snippet" do
Loading
Loading
@@ -81,6 +106,11 @@ describe Gitlab::API do
response.status.should == 200
json_response['body'].should == snippet_note.note
end
it "should return a 404 error if snippet note not found" do
get api("/projects/#{project.id}/snippets/#{snippet.id}/notes/123", user)
response.status.should == 404
end
end
end
 
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment