27
27
use Symfony \Component \Messenger \Worker ;
28
28
use Symfony \Contracts \EventDispatcher \EventDispatcherInterface ;
29
29
30
+ /**
31
+ * @group time-sensitive
32
+ */
30
33
class WorkerTest extends TestCase
31
34
{
32
35
public function testWorkerDispatchTheReceivedMessage ()
@@ -44,7 +47,7 @@ public function testWorkerDispatchTheReceivedMessage()
44
47
$ bus ->expects ($ this ->at (1 ))->method ('dispatch ' )->with ($ envelope = new Envelope ($ ipaMessage , new ReceivedStamp ()))->willReturn ($ envelope );
45
48
46
49
$ worker = new Worker ([$ receiver ], $ bus );
47
- $ worker ->run ([' sleep ' => 0 ], function (?Envelope $ envelope ) use ($ worker ) {
50
+ $ worker ->run ([], function (?Envelope $ envelope ) use ($ worker ) {
48
51
// stop after the messages finish
49
52
if (null === $ envelope ) {
50
53
$ worker ->stop ();
@@ -64,7 +67,7 @@ public function testWorkerDoesNotWrapMessagesAlreadyWrappedWithReceivedMessage()
64
67
$ bus ->expects ($ this ->at (0 ))->method ('dispatch ' )->with ($ envelope )->willReturn ($ envelope );
65
68
66
69
$ worker = new Worker ([$ receiver ], $ bus , []);
67
- $ worker ->run ([' sleep ' => 0 ], function (?Envelope $ envelope ) use ($ worker ) {
70
+ $ worker ->run ([], function (?Envelope $ envelope ) use ($ worker ) {
68
71
// stop after the messages finish
69
72
if (null === $ envelope ) {
70
73
$ worker ->stop ();
@@ -100,7 +103,7 @@ public function testDispatchCausesRetry()
100
103
$ retryStrategy ->expects ($ this ->once ())->method ('isRetryable ' )->willReturn (true );
101
104
102
105
$ worker = new Worker (['receiver1 ' => $ receiver ], $ bus , ['receiver1 ' => $ retryStrategy ]);
103
- $ worker ->run ([' sleep ' => 0 ], function (?Envelope $ envelope ) use ($ worker ) {
106
+ $ worker ->run ([], function (?Envelope $ envelope ) use ($ worker ) {
104
107
// stop after the messages finish
105
108
if (null === $ envelope ) {
106
109
$ worker ->stop ();
@@ -124,7 +127,7 @@ public function testDispatchCausesRejectWhenNoRetry()
124
127
$ retryStrategy ->expects ($ this ->once ())->method ('isRetryable ' )->willReturn (false );
125
128
126
129
$ worker = new Worker (['receiver1 ' => $ receiver ], $ bus , ['receiver1 ' => $ retryStrategy ]);
127
- $ worker ->run ([' sleep ' => 0 ], function (?Envelope $ envelope ) use ($ worker ) {
130
+ $ worker ->run ([], function (?Envelope $ envelope ) use ($ worker ) {
128
131
// stop after the messages finish
129
132
if (null === $ envelope ) {
130
133
$ worker ->stop ();
@@ -147,7 +150,7 @@ public function testDispatchCausesRejectOnUnrecoverableMessage()
147
150
$ retryStrategy ->expects ($ this ->never ())->method ('isRetryable ' );
148
151
149
152
$ worker = new Worker (['receiver1 ' => $ receiver ], $ bus , ['receiver1 ' => $ retryStrategy ]);
150
- $ worker ->run ([' sleep ' => 0 ], function (?Envelope $ envelope ) use ($ worker ) {
153
+ $ worker ->run ([], function (?Envelope $ envelope ) use ($ worker ) {
151
154
// stop after the messages finish
152
155
if (null === $ envelope ) {
153
156
$ worker ->stop ();
@@ -166,7 +169,7 @@ public function testWorkerDoesNotSendNullMessagesToTheBus()
166
169
$ bus ->expects ($ this ->never ())->method ('dispatch ' );
167
170
168
171
$ worker = new Worker ([$ receiver ], $ bus );
169
- $ worker ->run ([' sleep ' => 0 ], function (?Envelope $ envelope ) use ($ worker ) {
172
+ $ worker ->run ([], function (?Envelope $ envelope ) use ($ worker ) {
170
173
// stop after the messages finish
171
174
if (null === $ envelope ) {
172
175
$ worker ->stop ();
@@ -192,7 +195,7 @@ public function testWorkerDispatchesEventsOnSuccess()
192
195
);
193
196
194
197
$ worker = new Worker ([$ receiver ], $ bus , [], $ eventDispatcher );
195
- $ worker ->run ([' sleep ' => 0 ], function (?Envelope $ envelope ) use ($ worker ) {
198
+ $ worker ->run ([], function (?Envelope $ envelope ) use ($ worker ) {
196
199
// stop after the messages finish
197
200
if (null === $ envelope ) {
198
201
$ worker ->stop ();
@@ -219,17 +222,14 @@ public function testWorkerDispatchesEventsOnError()
219
222
);
220
223
221
224
$ worker = new Worker ([$ receiver ], $ bus , [], $ eventDispatcher );
222
- $ worker ->run ([' sleep ' => 0 ], function (?Envelope $ envelope ) use ($ worker ) {
225
+ $ worker ->run ([], function (?Envelope $ envelope ) use ($ worker ) {
223
226
// stop after the messages finish
224
227
if (null === $ envelope ) {
225
228
$ worker ->stop ();
226
229
}
227
230
});
228
231
}
229
232
230
- /**
231
- * @group time-sensitive
232
- */
233
233
public function testTimeoutIsConfigurable ()
234
234
{
235
235
$ apiMessage = new DummyMessage ('API ' );
@@ -258,10 +258,10 @@ public function testTimeoutIsConfigurable()
258
258
$ worker ->stop ();
259
259
$ duration = microtime (true ) - $ startTime ;
260
260
261
- // wait time should be .3 seconds, so execution should
262
- // be only a bit more than that
263
- $ this ->assertGreaterThanOrEqual (.3 , $ duration );
264
- $ this ->assertLessThan (.5 , $ duration );
261
+ // wait time should be .3 seconds
262
+ // use .29 & .31 for timing "wiggle room"
263
+ $ this ->assertGreaterThanOrEqual (.29 , $ duration );
264
+ $ this ->assertLessThan (.31 , $ duration );
265
265
}
266
266
});
267
267
}
@@ -306,7 +306,7 @@ public function testWorkerWithMultipleReceivers()
306
306
$ receivedCount = 0 ;
307
307
$ worker = new Worker ([$ receiver1 , $ receiver2 , $ receiver3 ], $ bus );
308
308
$ processedEnvelopes = [];
309
- $ worker ->run ([' sleep ' => 0 ], function (?Envelope $ envelope ) use ($ worker , &$ receivedCount , &$ processedEnvelopes ) {
309
+ $ worker ->run ([], function (?Envelope $ envelope ) use ($ worker , &$ receivedCount , &$ processedEnvelopes ) {
310
310
if (null !== $ envelope ) {
311
311
$ processedEnvelopes [] = $ envelope ;
312
312
++$ receivedCount ;
0 commit comments