From 130424fc3ed627142f487b495cfa70701e313939 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Lang Date: Tue, 12 Apr 2016 19:18:34 +0000 Subject: [PATCH] Support for deleting attachments via API (#14828). Patch by Takenori TAKAKI. git-svn-id: http://svn.redmine.org/redmine/trunk@15332 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- app/controllers/attachments_controller.rb | 3 ++- test/integration/api_test/attachments_test.rb | 18 ++++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/app/controllers/attachments_controller.rb b/app/controllers/attachments_controller.rb index d81b3d9b2..8c6b4484e 100644 --- a/app/controllers/attachments_controller.rb +++ b/app/controllers/attachments_controller.rb @@ -22,7 +22,7 @@ class AttachmentsController < ApplicationController before_filter :delete_authorize, :only => :destroy before_filter :authorize_global, :only => :upload - accept_api_auth :show, :download, :thumbnail, :upload + accept_api_auth :show, :download, :thumbnail, :upload, :destroy def show respond_to do |format| @@ -130,6 +130,7 @@ class AttachmentsController < ApplicationController respond_to do |format| format.html { redirect_to_referer_or project_path(@project) } format.js + format.api { render_api_ok } end end diff --git a/test/integration/api_test/attachments_test.rb b/test/integration/api_test/attachments_test.rb index 4ec4c84a7..640a78290 100644 --- a/test/integration/api_test/attachments_test.rb +++ b/test/integration/api_test/attachments_test.rb @@ -81,6 +81,24 @@ class Redmine::ApiTest::AttachmentsTest < Redmine::ApiTest::Base assert_response :success end + test "Destroy /attachments/:id.xml should return ok and deleted Attachment" do + assert_difference 'Attachment.count', -1 do + delete '/attachments/7.xml', {}, credentials('jsmith') + assert_response :ok + assert_equal '', response.body + end + assert_nil Attachment.find_by_id(7) + end + + test "Destroy /attachments/:id.json should return ok and deleted Attachment" do + assert_difference 'Attachment.count', -1 do + delete '/attachments/7.json', {}, credentials('jsmith') + assert_response :ok + assert_equal '', response.body + end + assert_nil Attachment.find_by_id(7) + end + test "POST /uploads.xml should return the token" do set_tmp_attachments_directory assert_difference 'Attachment.count' do -- 2.39.5