Skip to content

Commit 5296691

Browse files
committed
[Messenger] Move MiddlewareTestCase in Test ns
1 parent b61ae3a commit 5296691

7 files changed

+39
-25
lines changed

Tests/Middleware/MiddlewareTestCase.php renamed to Test/Middleware/MiddlewareTestCase.php

Lines changed: 26 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,16 @@
99
* file that was distributed with this source code.
1010
*/
1111

12-
namespace Symfony\Component\Messenger\Tests\Middleware;
12+
namespace Symfony\Component\Messenger\Test\Middleware;
1313

1414
use PHPUnit\Framework\TestCase;
15+
use Symfony\Component\Messenger\Envelope;
1516
use Symfony\Component\Messenger\Middleware\MiddlewareInterface;
1617
use Symfony\Component\Messenger\Middleware\StackInterface;
1718

19+
/**
20+
* @author Nicolas Grekas <p@tchwork.com>
21+
*/
1822
abstract class MiddlewareTestCase extends TestCase
1923
{
2024
protected function getStackMock(bool $nextIsCalled = true)
@@ -23,9 +27,9 @@ protected function getStackMock(bool $nextIsCalled = true)
2327
$nextMiddleware
2428
->expects($nextIsCalled ? $this->once() : $this->never())
2529
->method('handle')
26-
->will($this->returnCallback(function ($envelope, StackInterface $stack) {
30+
->willReturnCallback(function (Envelope $envelope, StackInterface $stack): Envelope {
2731
return $envelope;
28-
}))
32+
})
2933
;
3034

3135
$stack = $this->createMock(StackInterface::class);
@@ -37,4 +41,23 @@ protected function getStackMock(bool $nextIsCalled = true)
3741

3842
return $stack;
3943
}
44+
45+
protected function getThrowingStackMock(\Throwable $throwable = null)
46+
{
47+
$nextMiddleware = $this->getMockBuilder(MiddlewareInterface::class)->getMock();
48+
$nextMiddleware
49+
->expects($this->once())
50+
->method('handle')
51+
->willThrowException($throwable ?? new \RuntimeException('Thrown from next middleware.'))
52+
;
53+
54+
$stack = $this->createMock(StackInterface::class);
55+
$stack
56+
->expects($this->once())
57+
->method('next')
58+
->willReturn($nextMiddleware)
59+
;
60+
61+
return $stack;
62+
}
4063
}

Tests/Middleware/ActivationMiddlewareTest.php

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
use Symfony\Component\Messenger\Envelope;
1515
use Symfony\Component\Messenger\Middleware\ActivationMiddleware;
1616
use Symfony\Component\Messenger\Middleware\MiddlewareInterface;
17-
use Symfony\Component\Messenger\Middleware\StackInterface;
17+
use Symfony\Component\Messenger\Test\Middleware\MiddlewareTestCase;
1818
use Symfony\Component\Messenger\Tests\Fixtures\DummyMessage;
1919

2020
/**
@@ -27,8 +27,7 @@ public function testExecuteMiddlewareOnActivated()
2727
$message = new DummyMessage('Hello');
2828
$envelope = new Envelope($message);
2929

30-
$stack = $this->createMock(StackInterface::class);
31-
$stack->expects($this->never())->method('next');
30+
$stack = $this->getStackMock(false);
3231

3332
$middleware = $this->createMock(MiddlewareInterface::class);
3433
$middleware->expects($this->once())->method('handle')->with($envelope, $stack)->willReturn($envelope);
@@ -46,8 +45,7 @@ public function testExecuteMiddlewareOnActivatedWithCallable()
4645
$activated = $this->createPartialMock(\stdClass::class, array('__invoke'));
4746
$activated->expects($this->once())->method('__invoke')->with($envelope)->willReturn(true);
4847

49-
$stack = $this->createMock(StackInterface::class);
50-
$stack->expects($this->never())->method('next');
48+
$stack = $this->getStackMock(false);
5149

5250
$middleware = $this->createMock(MiddlewareInterface::class);
5351
$middleware->expects($this->once())->method('handle')->with($envelope, $stack)->willReturn($envelope);

Tests/Middleware/HandleMessageMiddlewareTest.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
use Symfony\Component\Messenger\Handler\Locator\HandlerLocator;
1616
use Symfony\Component\Messenger\Middleware\HandleMessageMiddleware;
1717
use Symfony\Component\Messenger\Middleware\StackMiddleware;
18+
use Symfony\Component\Messenger\Test\Middleware\MiddlewareTestCase;
1819
use Symfony\Component\Messenger\Tests\Fixtures\DummyMessage;
1920

2021
class HandleMessageMiddlewareTest extends MiddlewareTestCase

Tests/Middleware/LoggingMiddlewareTest.php

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
use Psr\Log\LoggerInterface;
1515
use Symfony\Component\Messenger\Envelope;
1616
use Symfony\Component\Messenger\Middleware\LoggingMiddleware;
17-
use Symfony\Component\Messenger\Middleware\StackInterface;
17+
use Symfony\Component\Messenger\Test\Middleware\MiddlewareTestCase;
1818
use Symfony\Component\Messenger\Tests\Fixtures\DummyMessage;
1919

2020
class LoggingMiddlewareTest extends MiddlewareTestCase
@@ -34,7 +34,8 @@ public function testDebugLogAndNextMiddleware()
3434
}
3535

3636
/**
37-
* @expectedException \Exception
37+
* @expectedException \RuntimeException
38+
* @expectedExceptionMessage Thrown from next middleware.
3839
*/
3940
public function testWarningLogOnException()
4041
{
@@ -50,12 +51,7 @@ public function testWarningLogOnException()
5051
->expects($this->once())
5152
->method('warning')
5253
;
53-
$stack = $this->createMock(StackInterface::class);
54-
$stack
55-
->expects($this->once())
56-
->method('next')
57-
->willThrowException(new \Exception())
58-
;
54+
$stack = $this->getThrowingStackMock();
5955

6056
(new LoggingMiddleware($logger))->handle($envelope, $stack);
6157
}

Tests/Middleware/SendMessageMiddlewareTest.php

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,9 @@
1212
namespace Symfony\Component\Messenger\Tests\Middleware;
1313

1414
use Symfony\Component\Messenger\Envelope;
15-
use Symfony\Component\Messenger\Middleware\MiddlewareInterface;
1615
use Symfony\Component\Messenger\Middleware\SendMessageMiddleware;
1716
use Symfony\Component\Messenger\Stamp\ReceivedStamp;
17+
use Symfony\Component\Messenger\Test\Middleware\MiddlewareTestCase;
1818
use Symfony\Component\Messenger\Tests\Fixtures\ChildDummyMessage;
1919
use Symfony\Component\Messenger\Tests\Fixtures\DummyMessage;
2020
use Symfony\Component\Messenger\Tests\Fixtures\DummyMessageInterface;
@@ -114,7 +114,6 @@ public function testItCallsTheNextMiddlewareWhenNoSenderForThisMessage()
114114
$envelope = new Envelope($message);
115115

116116
$middleware = new SendMessageMiddleware(new InMemorySenderLocator(null));
117-
$handler = $this->getMockBuilder(MiddlewareInterface::class)->getMock();
118117

119118
$middleware->handle($envelope, $this->getStackMock());
120119
}

Tests/Middleware/TraceableMiddlewareTest.php

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
use Symfony\Component\Messenger\Middleware\MiddlewareInterface;
1616
use Symfony\Component\Messenger\Middleware\StackInterface;
1717
use Symfony\Component\Messenger\Middleware\TraceableMiddleware;
18+
use Symfony\Component\Messenger\Test\Middleware\MiddlewareTestCase;
1819
use Symfony\Component\Messenger\Tests\Fixtures\DummyMessage;
1920
use Symfony\Component\Stopwatch\Stopwatch;
2021

@@ -55,7 +56,7 @@ public function testHandle()
5556

5657
/**
5758
* @expectedException \RuntimeException
58-
* @expectedExceptionMessage Foo exception from next callable
59+
* @expectedExceptionMessage Thrown from next middleware.
5960
*/
6061
public function testHandleWithException()
6162
{
@@ -71,12 +72,7 @@ public function testHandleWithException()
7172
}))
7273
;
7374

74-
$stack = $this->createMock(StackInterface::class);
75-
$stack
76-
->expects($this->once())
77-
->method('next')
78-
->willThrowException(new \RuntimeException('Foo exception from next callable'))
79-
;
75+
$stack = $this->getThrowingStackMock();
8076

8177
$stopwatch = $this->createMock(Stopwatch::class);
8278
$stopwatch->expects($this->once())->method('isStarted')->willReturn(true);

Tests/Middleware/ValidationMiddlewareTest.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
use Symfony\Component\Messenger\Envelope;
1515
use Symfony\Component\Messenger\Middleware\ValidationMiddleware;
1616
use Symfony\Component\Messenger\Stamp\ValidationStamp;
17+
use Symfony\Component\Messenger\Test\Middleware\MiddlewareTestCase;
1718
use Symfony\Component\Messenger\Tests\Fixtures\DummyMessage;
1819
use Symfony\Component\Validator\ConstraintViolationListInterface;
1920
use Symfony\Component\Validator\Validator\ValidatorInterface;

0 commit comments

Comments
 (0)