aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--app/models/incoming_message.rb3
-rw-r--r--app/models/raw_email.rb2
-rw-r--r--spec/controllers/admin_request_controller_spec.rb7
3 files changed, 8 insertions, 4 deletions
diff --git a/app/models/incoming_message.rb b/app/models/incoming_message.rb
index 581c73f8b..7d9cfbfa1 100644
--- a/app/models/incoming_message.rb
+++ b/app/models/incoming_message.rb
@@ -1237,9 +1237,8 @@ class IncomingMessage < ActiveRecord::Base
info_request_event.track_things_sent_emails.each { |a| a.destroy }
info_request_event.user_info_request_sent_alerts.each { |a| a.destroy }
info_request_event.destroy
- raw_email = self.raw_email
+ self.raw_email.destroy_file_representation!
self.destroy
- self.raw_email.destroy
end
end
diff --git a/app/models/raw_email.rb b/app/models/raw_email.rb
index eb36053c1..c6066cbf4 100644
--- a/app/models/raw_email.rb
+++ b/app/models/raw_email.rb
@@ -20,8 +20,6 @@ class RawEmail < ActiveRecord::Base
has_one :incoming_message
- before_destroy :destroy_file_representation!
-
# We keep the old data_text field (which is of type text) for backwards
# compatibility. We use the new data_binary field because only it works
# properly in recent versions of PostgreSQL (get seg faults escaping
diff --git a/spec/controllers/admin_request_controller_spec.rb b/spec/controllers/admin_request_controller_spec.rb
index 04e412e76..eab9db4af 100644
--- a/spec/controllers/admin_request_controller_spec.rb
+++ b/spec/controllers/admin_request_controller_spec.rb
@@ -68,4 +68,11 @@ describe AdminRequestController, "when administering the holding pen" do
assigns[:info_requests][0].should == ir
end
+ it "destroys an incoming message" do
+ im = incoming_messages(:useless_incoming_message)
+ raw_email = im.raw_email.filepath
+ post :destroy_incoming, :incoming_message_id => im.id
+ assert_equal File.exists?(raw_email), false
+ end
+
end