diff --git a/app/models/webhook.rb b/app/models/webhook.rb index 5c307e7..f386e5f 100644 --- a/app/models/webhook.rb +++ b/app/models/webhook.rb @@ -63,7 +63,7 @@ class Webhook < ApplicationRecord end def extract_attachment_from(response) - if response.content_type && mime_type = Mime::Type.lookup(response.content_type) + if response.code == "200" && response.content_type && mime_type = Mime::Type.lookup(response.content_type) ActiveStorage::Blob.create_and_upload! \ io: StringIO.new(response.body), filename: "attachment.#{mime_type.symbol}", content_type: mime_type.to_s end diff --git a/test/models/webhook_test.rb b/test/models/webhook_test.rb index 4f4e3bc..d37192a 100644 --- a/test/models/webhook_test.rb +++ b/test/models/webhook_test.rb @@ -41,7 +41,7 @@ class WebhookTest < ActiveSupport::TestCase test "delivery with error reply" do assert_no_difference -> { Message.count } do - WebMock.stub_request(:post, webhooks(:bender).url).to_return(status: 500, body: "Internal Error!", headers: {}) + WebMock.stub_request(:post, webhooks(:bender).url).to_return(status: 500, body: "