File tree 2 files changed +63
-2
lines changed 2 files changed +63
-2
lines changed Original file line number Diff line number Diff line change 3
3
namespace Enqueue \Consumption \Extension ;
4
4
5
5
use Enqueue \Consumption \Context \End ;
6
- use Enqueue \Consumption \EndExtensionInterface ;
6
+ use Enqueue \Consumption \ExtensionInterface ;
7
7
8
- class CaptureExitStatusExtension implements EndExtensionInterface
8
+ class CaptureExitStatusExtension implements ExtensionInterface
9
9
{
10
10
/**
11
11
* @var int
@@ -32,4 +32,40 @@ public function isExitStatusCaptured(): bool
32
32
{
33
33
return $ this ->isExitStatusCaptured ;
34
34
}
35
+
36
+ public function onInitLogger (\Enqueue \Consumption \Context \InitLogger $ context ): void
37
+ {
38
+ }
39
+
40
+ public function onMessageReceived (\Enqueue \Consumption \Context \MessageReceived $ context ): void
41
+ {
42
+ }
43
+
44
+ public function onPostConsume (\Enqueue \Consumption \Context \PostConsume $ context ): void
45
+ {
46
+ }
47
+
48
+ public function onPostMessageReceived (\Enqueue \Consumption \Context \PostMessageReceived $ context ): void
49
+ {
50
+ }
51
+
52
+ public function onPreConsume (\Enqueue \Consumption \Context \PreConsume $ context ): void
53
+ {
54
+ }
55
+
56
+ public function onPreSubscribe (\Enqueue \Consumption \Context \PreSubscribe $ context ): void
57
+ {
58
+ }
59
+
60
+ public function onProcessorException (\Enqueue \Consumption \Context \ProcessorException $ context ): void
61
+ {
62
+ }
63
+
64
+ public function onResult (\Enqueue \Consumption \Context \MessageResult $ context ): void
65
+ {
66
+ }
67
+
68
+ public function onStart (\Enqueue \Consumption \Context \Start $ context ): void
69
+ {
70
+ }
35
71
}
Original file line number Diff line number Diff line change 16
16
use Enqueue \Consumption \Context \ProcessorException ;
17
17
use Enqueue \Consumption \Context \Start ;
18
18
use Enqueue \Consumption \Exception \InvalidArgumentException ;
19
+ use Enqueue \Consumption \Extension \CaptureExitStatusExtension ;
19
20
use Enqueue \Consumption \ExtensionInterface ;
20
21
use Enqueue \Consumption \QueueConsumer ;
21
22
use Enqueue \Consumption \Result ;
@@ -1429,6 +1430,30 @@ public function testShouldCallProcessorAsMessageComeAlong()
1429
1430
$ this ->assertSame ($ fooConsumerStub , $ actualContexts [2 ]->getConsumer ());
1430
1431
}
1431
1432
1433
+ public function testCaptureExitStatus ()
1434
+ {
1435
+ $ testExitCode = 5 ;
1436
+
1437
+ $ stubExtension = $ this ->createExtension ();
1438
+
1439
+ $ stubExtension
1440
+ ->expects ($ this ->once ())
1441
+ ->method ('onStart ' )
1442
+ ->with ($ this ->isInstanceOf (Start::class))
1443
+ ->willReturnCallback (function (Start $ context ) use ($ testExitCode ) {
1444
+ $ context ->interruptExecution ($ testExitCode );
1445
+ })
1446
+ ;
1447
+
1448
+ $ exitExtension = new CaptureExitStatusExtension ();
1449
+
1450
+ $ consumer = new QueueConsumer ($ this ->createContextStub (), $ stubExtension );
1451
+ $ consumer ->consume ($ exitExtension );
1452
+
1453
+ $ this ->assertEquals ($ testExitCode , $ exitExtension ->getExitStatus ());
1454
+ $ this ->assertTrue ($ exitExtension ->isExitStatusCaptured ());
1455
+ }
1456
+
1432
1457
/**
1433
1458
* @return \PHPUnit_Framework_MockObject_MockObject
1434
1459
*/
You can’t perform that action at this time.
0 commit comments