Accept key auth for ProjectsController#destroy (#6841).

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@4443 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Jean-Philippe Lang 2010-11-27 16:37:15 +00:00
parent 054b7d28f1
commit 3d6cb1435c
2 changed files with 15 additions and 9 deletions

View 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?

View File

@ -105,14 +105,20 @@ class ApiTest::ProjectsTest < ActionController::IntegrationTest
assert_tag :errors, :child => {:tag => 'error', :content => "Name can't be blank"}
end
def test_destroy
assert_difference 'Project.count', -1 do
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_equal 'application/xml', @response.content_type
assert_nil Project.find_by_id(2)
end
end
def credentials(user, password=nil)
ActionController::HttpAuthentication::Basic.encode_credentials(user, password || user)