File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 33namespace Enqueue \Consumption \Extension ;
44
55use Enqueue \Consumption \Context \End ;
6- use Enqueue \Consumption \EndExtensionInterface ;
6+ use Enqueue \Consumption \ExtensionInterface ;
77
8- class CaptureExitStatusExtension implements EndExtensionInterface
8+ class CaptureExitStatusExtension implements ExtensionInterface
99{
1010 /**
1111 * @var int
@@ -32,4 +32,40 @@ public function isExitStatusCaptured(): bool
3232 {
3333 return $ this ->isExitStatusCaptured ;
3434 }
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+ }
3571}
Original file line number Diff line number Diff line change 1616use Enqueue \Consumption \Context \ProcessorException ;
1717use Enqueue \Consumption \Context \Start ;
1818use Enqueue \Consumption \Exception \InvalidArgumentException ;
19+ use Enqueue \Consumption \Extension \CaptureExitStatusExtension ;
1920use Enqueue \Consumption \ExtensionInterface ;
2021use Enqueue \Consumption \QueueConsumer ;
2122use Enqueue \Consumption \Result ;
@@ -1429,6 +1430,30 @@ public function testShouldCallProcessorAsMessageComeAlong()
14291430 $ this ->assertSame ($ fooConsumerStub , $ actualContexts [2 ]->getConsumer ());
14301431 }
14311432
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+
14321457 /**
14331458 * @return \PHPUnit_Framework_MockObject_MockObject
14341459 */
You can’t perform that action at this time.
0 commit comments