From d84feaa4bbc4f9368546ff9fe7716b5f2367110c Mon Sep 17 00:00:00 2001 From: evazion Date: Wed, 14 Jun 2017 20:07:38 -0500 Subject: [PATCH] posts: fix expunging posts not removing image from iqdb. `File.exists?(preview_file_path)` is always false because the file has already been deleted by this point. Remove the check entirely. --- app/models/post.rb | 4 +--- test/helpers/iqdb_test_helper.rb | 1 + test/unit/post_test.rb | 9 +++++++++ 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/app/models/post.rb b/app/models/post.rb index 6e7e48878..5b1b4eb00 100644 --- a/app/models/post.rb +++ b/app/models/post.rb @@ -1713,9 +1713,7 @@ class Post < ActiveRecord::Base end def remove_iqdb_async - if File.exists?(preview_file_path) && Post.iqdb_enabled? - Post.iqdb_sqs_service.send_message("remove\n#{id}") - end + Post.remove_iqdb(id) end def update_iqdb diff --git a/test/helpers/iqdb_test_helper.rb b/test/helpers/iqdb_test_helper.rb index f34a3cdb8..3c157d332 100644 --- a/test/helpers/iqdb_test_helper.rb +++ b/test/helpers/iqdb_test_helper.rb @@ -16,6 +16,7 @@ module IqdbTestHelper service = mock_sqs_service.new Post.stubs(:iqdb_sqs_service).returns(service) + Post.stubs(:iqdb_enabled?).returns(true) Danbooru.config.stubs(:iqdbs_auth_key).returns("hunter2") Danbooru.config.stubs(:iqdbs_server).returns("http://localhost:3004") diff --git a/test/unit/post_test.rb b/test/unit/post_test.rb index 2e701c837..89e847373 100644 --- a/test/unit/post_test.rb +++ b/test/unit/post_test.rb @@ -52,6 +52,15 @@ class PostTest < ActiveSupport::TestCase assert_equal(false, File.exists?(@post.file_path)) end + should "remove the post from iqdb" do + mock_iqdb_service! + Post.iqdb_sqs_service.expects(:send_message).with("remove\n#{@post.id}") + + TestAfterCommit.with_commits(true) do + @post.expunge! + end + end + context "that is status locked" do setup do @post.update_attributes({:is_status_locked => true}, :as => :admin)