]> source.dussan.org Git - redmine.git/commitdiff
Accept key auth for ProjectsController#destroy (#6841).
authorJean-Philippe Lang <jp_lang@yahoo.fr>
Sat, 27 Nov 2010 16:37:15 +0000 (16:37 +0000)
committerJean-Philippe Lang <jp_lang@yahoo.fr>
Sat, 27 Nov 2010 16:37:15 +0000 (16:37 +0000)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@4443 e93f8b46-1217-0410-a6f0-8f06a7374b81

app/controllers/projects_controller.rb
test/integration/api_test/projects_test.rb

index 3bedd2c78054043babf5ca8cbde2092668972fe9..9a4a35b06ba319cf8fed64c28d13f3910c464e08 100644 (file)
@@ -24,7 +24,7 @@ class ProjectsController < ApplicationController
   before_filter :authorize, :except => [ :index, :list, :new, :create, :copy, :archive, :unarchive, :destroy]
   before_filter :authorize_global, :only => [:new, :create]
   before_filter :require_admin, :only => [ :copy, :archive, :unarchive, :destroy ]
-  accept_key_auth :index, :create, :update
+  accept_key_auth :index, :create, :update, :destroy
 
   after_filter :only => [:create, :edit, :update, :archive, :unarchive, :destroy] do |controller|
     if controller.request.post?
index c2ffa69208d2d19f59ad32c8e0a896e7fb153c39..cdac77ef9176fc1436d05c239804cb2eeb60fc6b 100644 (file)
@@ -31,7 +31,7 @@ class ApiTest::ProjectsTest < ActionController::IntegrationTest
     assert_response :success
     assert_equal 'application/xml', @response.content_type
   end
-    
+  
   def test_show
     get '/projects/1.xml'
     assert_response :success
@@ -104,14 +104,20 @@ class ApiTest::ProjectsTest < ActionController::IntegrationTest
     assert_equal 'application/xml', @response.content_type
     assert_tag :errors, :child => {:tag => 'error', :content => "Name can't be blank"}
   end
-    
-  def test_destroy
-    assert_difference 'Project.count', -1 do
-      delete '/projects/2.xml', {}, :authorization => credentials('admin')
+  
+  context "DELETE /projects/2.xml" do
+    should_allow_api_authentication(:delete,
+                                    '/projects/2.xml',
+                                    {},
+                                    {:success_code => :ok})
+
+    should "delete the project" do
+      assert_difference('Project.count',-1) do
+        delete '/projects/2.xml', {}, :authorization => credentials('admin')
+      end
+      assert_response :ok
+      assert_nil Project.find_by_id(2)
     end
-    assert_response :ok
-    assert_equal 'application/xml', @response.content_type
-    assert_nil Project.find_by_id(2)
   end
   
   def credentials(user, password=nil)