From 2a1884bfe5f55370c03573d6685ea6dc4a0f2b61 Mon Sep 17 00:00:00 2001
From: zvkemp <zvkemp@gmail.com>
Date: Wed, 20 Jun 2018 12:04:07 -0700
Subject: Wrap ActiveJob::Enqueue in evented ActiveSupport::Notification

---
 activejob/test/cases/logging_test.rb | 23 ++++++++++++++++++++---
 1 file changed, 20 insertions(+), 3 deletions(-)

(limited to 'activejob/test/cases')

diff --git a/activejob/test/cases/logging_test.rb b/activejob/test/cases/logging_test.rb
index 1f8c4a5573..a1107a07fd 100644
--- a/activejob/test/cases/logging_test.rb
+++ b/activejob/test/cases/logging_test.rb
@@ -45,6 +45,14 @@ class LoggingTest < ActiveSupport::TestCase
     ActiveJob::Base.logger = logger
   end
 
+  def subscribed
+    [].tap do |events|
+      ActiveSupport::Notifications.subscribed(-> (*args) { events << args }, /enqueue.*\.active_job/) do
+        yield
+      end
+    end
+  end
+
   def test_uses_active_job_as_tag
     HelloJob.perform_later "Cristian"
     assert_match(/\[ActiveJob\]/, @logger.messages)
@@ -86,8 +94,11 @@ class LoggingTest < ActiveSupport::TestCase
   end
 
   def test_enqueue_job_logging
-    HelloJob.perform_later "Cristian"
+    events = subscribed { HelloJob.perform_later "Cristian" }
     assert_match(/Enqueued HelloJob \(Job ID: .*?\) to .*?:.*Cristian/, @logger.messages)
+    assert_equal(events.count, 1)
+    key, * = events.first
+    assert_equal(key, "enqueue.active_job")
   end
 
   def test_perform_job_logging
@@ -110,15 +121,21 @@ class LoggingTest < ActiveSupport::TestCase
   end
 
   def test_enqueue_at_job_logging
-    HelloJob.set(wait_until: 24.hours.from_now).perform_later "Cristian"
+    events = subscribed { HelloJob.set(wait_until: 24.hours.from_now).perform_later "Cristian" }
     assert_match(/Enqueued HelloJob \(Job ID: .*\) to .*? at.*Cristian/, @logger.messages)
+    assert_equal(events.count, 1)
+    key, * = events.first
+    assert_equal(key, "enqueue_at.active_job")
   rescue NotImplementedError
     skip
   end
 
   def test_enqueue_in_job_logging
-    HelloJob.set(wait: 2.seconds).perform_later "Cristian"
+    events = subscribed { HelloJob.set(wait: 2.seconds).perform_later "Cristian" }
     assert_match(/Enqueued HelloJob \(Job ID: .*\) to .*? at.*Cristian/, @logger.messages)
+    assert_equal(events.count, 1)
+    key, * = events.first
+    assert_equal(key, "enqueue_at.active_job")
   rescue NotImplementedError
     skip
   end
-- 
cgit v1.2.3