1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00
rails--rails/actionmailbox/test/unit/mailbox/notifications_test.rb
Lewis Buckley 599e73bc00
Instrument Action Mailbox processing
Use ActiveSupport::Notifications to instrument Action Mailbox for
logging or performance monitoring.
2022-03-09 10:06:43 +00:00

33 lines
909 B
Ruby

# frozen_string_literal: true
require_relative "../../test_helper"
class RepliesMailbox < ActionMailbox::Base
end
class ActionMailbox::Base::NotificationsTest < ActiveSupport::TestCase
test "instruments processing" do
events = []
ActiveSupport::Notifications.subscribe("process.action_mailbox") do |*args|
events << ActiveSupport::Notifications::Event.new(*args)
end
RepliesMailbox.receive create_inbound_email_from_fixture("welcome.eml")
assert_equal 1, events.length
assert_equal "process.action_mailbox", events[0].name
assert_equal(
{
mailbox: "RepliesMailbox",
inbound_email: {
id: 1,
message_id: "0CB459E0-0336-41DA-BC88-E6E28C697DDB@37signals.com",
status: "processing"
}
},
events[0].payload
)
ensure
ActiveSupport::Notifications.unsubscribe("process.action_mailbox")
end
end