OSDN Git Service

Status code 404 returned when retrieving non existent branch (issue #2922)
authorSebastian Ziebell <sebastian.ziebell@asquera.de>
Fri, 8 Feb 2013 16:04:08 +0000 (17:04 +0100)
committerSebastian Ziebell <sebastian.ziebell@asquera.de>
Fri, 8 Feb 2013 16:04:08 +0000 (17:04 +0100)
Accessing a repository branch that does not exist returns a 404 error instead
of 200 now. Added a test.

lib/api/projects.rb
spec/requests/api/projects_spec.rb

index a16243a..5e4c564 100644 (file)
@@ -230,6 +230,7 @@ module Gitlab
       #   GET /projects/:id/repository/branches/:branch
       get ":id/repository/branches/:branch" do
         @branch = user_project.repo.heads.find { |item| item.name == params[:branch] }
+        error!("Branch does not exist", 404) if @branch.nil?
         present @branch, with: Entities::RepoObject, project: user_project
       end
 
index d932fd9..16fd1b9 100644 (file)
@@ -109,6 +109,11 @@ describe Gitlab::API do
       json_response['commit']['id'].should == '621491c677087aa243f165eab467bfdfbee00be1'
       json_response['protected'].should == false
     end
+
+    it "should return a 404 error if branch is not available" do
+      get api("/projects/#{project.id}/repository/branches/unknown", user)
+      response.status.should == 404
+    end
   end
 
   describe "PUT /projects/:id/repository/branches/:branch/protect" do