]> source.dussan.org Git - redmine.git/commitdiff
Allow key authentication when deleting issues (with tests) #6447
authorEric Davis <edavis@littlestreamsoftware.com>
Fri, 5 Nov 2010 17:49:25 +0000 (17:49 +0000)
committerEric Davis <edavis@littlestreamsoftware.com>
Fri, 5 Nov 2010 17:49:25 +0000 (17:49 +0000)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@4367 e93f8b46-1217-0410-a6f0-8f06a7374b81

app/controllers/issues_controller.rb
test/integration/api_test/issues_test.rb

index 8f0409a9d88c8ecde1d4c84471cb4d050a0038ce..7993522184bb8416781b03465d37ed1307abc897 100644 (file)
@@ -27,7 +27,7 @@ class IssuesController < ApplicationController
   before_filter :find_optional_project, :only => [:index]
   before_filter :check_for_default_issue_status, :only => [:new, :create]
   before_filter :build_new_issue_from_params, :only => [:new, :create]
-  accept_key_auth :index, :show, :create, :update
+  accept_key_auth :index, :show, :create, :update, :destroy
 
   rescue_from Query::StatementInvalid, :with => :query_statement_invalid
   
index 55f78e86bbd6e26d580f5b36d3f2a12927d22314..60ee66bb908d291663df21525027013f252681e1 100644 (file)
@@ -301,32 +301,32 @@ class ApiTest::IssuesTest < ActionController::IntegrationTest
   end
 
   context "DELETE /issues/1.xml" do
-    setup do
-      @issue_count = Issue.count
-      delete '/issues/1.xml', {}, :authorization => credentials('jsmith')
-    end
-
-    should_respond_with :ok
-    should_respond_with_content_type 'application/xml'
+    should_allow_api_authentication(:delete,
+                                    '/issues/6.xml',
+                                    {},
+                                    {:success_code => :ok})
 
     should "delete the issue" do
-      assert_equal Issue.count, @issue_count -1
-      assert_nil Issue.find_by_id(1)
+      assert_difference('Issue.count',-1) do
+        delete '/issues/6.xml', {}, :authorization => credentials('jsmith')
+      end
+      
+      assert_nil Issue.find_by_id(6)
     end
   end
 
   context "DELETE /issues/1.json" do
-    setup do
-      @issue_count = Issue.count
-      delete '/issues/1.json', {}, :authorization => credentials('jsmith')
-    end
-
-    should_respond_with :ok
-    should_respond_with_content_type 'application/json'
+    should_allow_api_authentication(:delete,
+                                    '/issues/6.json',
+                                    {},
+                                    {:success_code => :ok})
 
     should "delete the issue" do
-      assert_equal Issue.count, @issue_count -1
-      assert_nil Issue.find_by_id(1)
+      assert_difference('Issue.count',-1) do
+        delete '/issues/6.json', {}, :authorization => credentials('jsmith')
+      end
+      
+      assert_nil Issue.find_by_id(6)
     end
   end