Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit b8c5901

Browse files
committed
test capture exit status
1 parent d1960a2 commit b8c5901

File tree

2 files changed

+63
-2
lines changed

2 files changed

+63
-2
lines changed

pkg/enqueue/Consumption/Extension/CaptureExitStatusExtension.php

Lines changed: 38 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@
33
namespace Enqueue\Consumption\Extension;
44

55
use 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
}

pkg/enqueue/Tests/Consumption/QueueConsumerTest.php

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
use Enqueue\Consumption\Context\ProcessorException;
1717
use Enqueue\Consumption\Context\Start;
1818
use Enqueue\Consumption\Exception\InvalidArgumentException;
19+
use Enqueue\Consumption\Extension\CaptureExitStatusExtension;
1920
use Enqueue\Consumption\ExtensionInterface;
2021
use Enqueue\Consumption\QueueConsumer;
2122
use 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
*/

0 commit comments

Comments
 (0)