8000 Add CallbackReceiver for tests · symfony/symfony@7a5c7dd · GitHub
[go: up one dir, main page]

Skip to content

Commit 7a5c7dd

Browse files
Add CallbackReceiver for tests
1 parent 8f13c51 commit 7a5c7dd

File tree

3 files changed

+34
-33
lines changed

3 files changed

+34
-33
lines changed
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
<?php
2+
3+
namespace Symfony\Component\Messenger\Tests\Fixtures;
4+
5+
use Symfony\Component\Messenger\Transport\ReceiverInterface;
6+
7+
class CallbackReceiver implements ReceiverInterface
8+
{
9+
private $callable;
10+
11+
public function __construct(callable $callable)
12+
{
13+
$this->callable = $callable;
14+
}
15+
16+
public function receive(callable $handler): void
17+
{
18+
$callable = $this->callable;
19+
$callable($handler);
20+
}
21+
22+
public function stop(): void
23+
{
24+
}
25+
}

src/Symfony/Component/Messenger/Tests/Transport/Enhancers/MemoryLimitReceiverTest.php

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
namespace Symfony\Component\Messenger\Tests\Transport\Enhancers;
1313

1414
use PHPUnit\Framework\TestCase;
15+
use Symfony\Component\Messenger\Tests\Fixtures\CallbackReceiver;
1516
use Symfony\Component\Messenger\Tests\Fixtures\DummyMessage;
1617
use Symfony\Component\Messenger\Transport\Enhancers\MemoryLimitReceiver;
1718
use Symfony\Component\Messenger\Transport\ReceiverInterface;
@@ -23,9 +24,15 @@ class MemoryLimitReceiverTest extends TestCase
2324
*/
2425
public function testReceiverStopsWhenMemoryLimitExceeded($memoryUsage, $memoryLimit, $shouldStop)
2526
{
26-
$decoratedReceiver = $this->getMockBuilder(ReceiverToDecorate::class)
27+
$callable = function ($handler) {
28+
$handler(new DummyMessage('API'));
29+
};
30+
31+
$decoratedReceiver = $this->getMockBuilder(CallbackReceiver::class)
32+
->setConstructorArgs(array($callable))
2733
->enableProxyingToOriginalMethods()
2834
->getMock();
35+
2936
$decoratedReceiver->expects($this->once())->method('receive');
3037
if (true === $shouldStop) {
3138
$decoratedReceiver->expects($this->once())->method('stop');
@@ -77,15 +84,3 @@ public function invalidMemoryLimitProvider()
7784
yield array('128 M'); // string with space
7885
}
7986
}
80-
81-
class ReceiverToDecorate implements ReceiverInterface
82-
{
83-
public function receive(callable $handler): void
84-
{
85-
$handler(new DummyMessage('API'));
86-
}
87-
88-
public function stop(): void
89-
{
90-
}
91-
}

src/Symfony/Component/Messenger/Tests/WorkerTest.php

Lines changed: 1 addition & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
use PHPUnit\Framework\TestCase;
1515
use Symfony\Component\Messenger\Asynchronous\Transport\ReceivedMessage;
1616
use Symfony\Component\Messenger\MessageBusInterface;
17+
use Symfony\Component\Messenger\Tests\Fixtures\CallbackReceiver;
1718
use Symfony\Component\Messenger\Tests\Fixtures\DummyMessage;
1819
use Symfony\Component\Messenger\Transport\ReceiverInterface;
1920
use Symfony\Component\Messenger\Worker;
@@ -83,23 +84,3 @@ public function testWorkerDoesNotSendNullMessagesToTheBus()
8384
$worker->run();
8485
}
8586
}
86-
87-
class CallbackReceiver implements ReceiverInterface
88-
{
89-
private $callable;
90-
91-
public function __construct(callable $callable)
92-
{
93-
$this->callable = $callable;
94-
}
95-
96-
public function receive(callable $handler): void
97-
{
98-
$callable = $this->callable;
99-
$callable($handler);
100-
}
101-
102-
public function stop(): void
103-
{
104-
}
105-
}

0 commit comments

Comments
 (0)
0