@@ -50,12 +50,6 @@ def set_logger(logger)
50
50
ActiveJob ::Base . logger = logger
51
51
end
52
52
53
- def subscribed ( &block )
54
- [ ] . tap do |events |
55
- ActiveSupport ::Notifications . subscribed ( -> ( *args ) { events << args } , /enqueue.*\. active_job/ , &block )
56
- end
57
- end
58
-
59
53
def test_uses_active_job_as_tag
60
54
HelloJob . perform_later "Cristian"
61
55
assert_match ( /\[ ActiveJob\] / , @logger . messages )
@@ -105,32 +99,35 @@ def test_globalid_nested_parameter_logging
105
99
end
106
100
107
101
def test_enqueue_job_logging
108
- events = subscribed { HelloJob . perform_later "Cristian" }
102
+ assert_notifications_count ( /enqueue.*\. active_job/ , 1 ) do
103
+ assert_notifications_count ( "enqueue.active_job" , 1 ) do
104
+ HelloJob . perform_later "Cristian"
105
+ end
106
+ end
107
+
109
108
assert_match ( /Enqueued HelloJob \( Job ID: .*?\) to .*?:.*Cristian/ , @logger . messages )
110
- assert_equal ( 1 , events . count )
111
- key , * = events . first
112
- assert_equal ( "enqueue.active_job" , key )
113
109
end
114
110
115
111
def test_enqueue_job_log_error_when_callback_chain_is_halted
116
- events = subscribed { AbortBeforeEnqueueJob . perform_later }
112
+ assert_notifications_count ( /enqueue.*\. active_job/ , 1 ) do
113
+ assert_notification ( "enqueue.active_job" ) do
114
+ AbortBeforeEnqueueJob . perform_later
115
+ end
116
+ end
117
+
117
118
assert_match ( /Failed enqueuing AbortBeforeEnqueueJob.* a before_enqueue callback halted/ , @logger . messages )
118
- assert_equal ( 1 , events . count )
119
- key , * = events . first
120
- assert_equal ( "enqueue.active_job" , key )
121
119
end
122
120
123
121
def test_enqueue_job_log_error_when_error_is_raised_during_callback_chain
124
- events = subscribed do
125
- assert_raises ( AbortBeforeEnqueueJob ::MyError ) do
126
- AbortBeforeEnqueueJob . perform_later ( :raise )
122
+ assert_notifications_count ( /enqueue.*\. active_job/ , 1 ) do
123
+ assert_notification ( "enqueue.active_job" ) do
124
+ assert_raises ( AbortBeforeEnqueueJob ::MyError ) do
125
+ AbortBeforeEnqueueJob . perform_later ( :raise )
126
+ end
127
127
end
128
128
end
129
129
130
130
assert_match ( /Failed enqueuing AbortBeforeEnqueueJob/ , @logger . messages )
131
- assert_equal ( 1 , events . count )
132
- key , * = events . first
133
- assert_equal ( "enqueue.active_job" , key )
134
131
end
135
132
136
133
def test_perform_job_logging
@@ -154,7 +151,7 @@ def test_perform_job_logging_when_job_is_not_enqueued
154
151
end
155
152
156
153
def test_perform_job_log_error_when_callback_chain_is_halted
157
- subscribed { AbortBeforeEnqueueJob . perform_now }
154
+ AbortBeforeEnqueueJob . perform_now
158
155
assert_match ( /Error performing AbortBeforeEnqueueJob.* a before_perform callback halted/ , @logger . messages )
159
156
end
160
157
@@ -165,7 +162,7 @@ def perform
165
162
end
166
163
end
167
164
168
- subscribed { job . perform_now }
165
+ job . perform_now
169
166
assert_no_match ( /Error performing AbortBeforeEnqueueJob.* a before_perform callback halted/ , @logger . messages )
170
167
end
171
168
@@ -179,10 +176,8 @@ def perform(_)
179
176
end
180
177
end . new ( [ :dont_abort , :abort ] )
181
178
182
- subscribed do
183
- job . perform_now
184
- job . perform_now
185
- end
179
+ job . perform_now
180
+ job . perform_now
186
181
187
182
assert_equal ( 1 , @logger . messages . scan ( /a before_perform callback halted the job execution/ ) . size )
188
183
end
@@ -215,42 +210,47 @@ def test_perform_nested_jobs_logging
215
210
216
211
unless adapter_is? ( :inline , :sneakers )
217
212
def test_enqueue_at_job_logging
218
- events = subscribed { HelloJob . set ( wait_until : 24 . hours . from_now ) . perform_later "Cristian" }
213
+ assert_notifications_count ( /enqueue.*\. active_job/ , 1 ) do
214
+ assert_notification ( "enqueue_at.active_job" ) do
215
+ HelloJob . set ( wait_until : 24 . hours . from_now ) . perform_later "Cristian"
216
+ end
217
+ end
218
+
219
219
assert_match ( /Enqueued HelloJob \( Job ID: .*\) to .*? at.*Cristian/ , @logger . messages )
220
- assert_equal ( 1 , events . count )
221
- key , * = events . first
222
- assert_equal ( "enqueue_at.active_job" , key )
223
220
end
224
221
end
225
222
226
223
def test_enqueue_at_job_log_error_when_callback_chain_is_halted
227
- events = subscribed { AbortBeforeEnqueueJob . set ( wait : 1 . second ) . perform_later }
224
+ assert_notifications_count ( /enqueue.*\. active_job/ , 1 ) do
225
+ assert_notification ( "enqueue_at.active_job" ) do
226
+ AbortBeforeEnqueueJob . set ( wait : 1 . second ) . perform_later
227
+ end
228
+ end
229
+
228
230
assert_match ( /Failed enqueuing AbortBeforeEnqueueJob.* a before_enqueue callback halted/ , @logger . messages )
229
- assert_equal ( 1 , events . count )
230
- key , * = events . first
231
- assert_equal ( "enqueue_at.active_job" , key )
232
231
end
233
232
234
233
def test_enqueue_at_job_log_error_when_error_is_raised_during_callback_chain
235
- events = subscribed do
236
- assert_raises ( AbortBeforeEnqueueJob ::MyError ) do
237
- AbortBeforeEnqueueJob . set ( wait : 1 . second ) . perform_later ( :raise )
234
+ assert_notifications_count ( /enqueue.*\. active_job/ , 1 ) do
235
+ assert_notification ( "enqueue_at.active_job" ) do
236
+ assert_raises ( AbortBeforeEnqueueJob ::MyError ) do
237
+ AbortBeforeEnqueueJob . set ( wait : 1 . second ) . perform_later ( :raise )
238
+ end
238
239
end
239
240
end
240
241
241
242
assert_match ( /Failed enqueuing AbortBeforeEnqueueJob/ , @logger . messages )
242
- assert_equal ( 1 , events . count )
243
- key , * = events . first
244
- assert_equal ( "enqueue_at.active_job" , key )
245
243
end
246
244
247
245
unless adapter_is? ( :inline , :sneakers )
248
246
def test_enqueue_in_job_logging
249
- events = subscribed { HelloJob . set ( wait : 2 . seconds ) . perform_later "Cristian" }
247
+ assert_notifications_count ( /enqueue.*\. active_job/ , 1 ) do
248
+ assert_notification ( "enqueue_at.active_job" ) do
249
+ HelloJob . set ( wait : 2 . seconds ) . perform_later "Cristian"
250
+ end
251
+ end
252
+
250
253
assert_match ( /Enqueued HelloJob \( Job ID: .*\) to .*? at.*Cristian/ , @logger . messages )
251
- assert_equal ( 1 , events . count )
252
- key , * = events . first
253
- assert_equal ( "enqueue_at.active_job" , key )
254
254
end
255
255
end
256
256
0 commit comments