8000 minor #33482 fix tests mocking final events (Tobion) · symfony/symfony@9d472c7 · GitHub
[go: up one dir, main page]

Skip to content

Commit 9d472c7

Browse files
minor #33482 fix tests mocking final events (Tobion)
This PR was merged into the 4.4 branch. Discussion ---------- fix tests mocking final events | Q | A | ------------- | --- | Branch? | 4.4 | Bug fix? | no | New feature? | no <!-- please update src/**/CHANGELOG.md files --> | BC breaks? | no <!-- see https://symfony.com/bc --> | Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files --> | Tests pass? | yes <!-- please add some, will be required by reviewers --> | Fixed tickets | #... <!-- #-prefixed issue number(s), if any --> | License | MIT | Doc PR | Fix tests in 4.4 extracted from #33297 Commits ------- 637461f fix tests mocking final events
2 parents 654b803 + 637461f commit 9d472c7

File tree

6 files changed

+25
-54
lines changed

6 files changed

+25
-54
lines changed

src/Symfony/Bridge/Monolog/Tests/Processor/RouteProcessorTest.php

Lines changed: 15 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@
1616
use Symfony\Component\HttpFoundation\ParameterBag;
1717
use Symfony\Component\HttpFoundation\Request;
1818
use Symfony\Component\HttpKernel\Event\FinishRequestEvent;
19-
use Symfony\Component\HttpKernel\Event\GetResponseEvent;
19+
use Symfony\Component\HttpKernel\Event\RequestEvent;
20+
use Symfony\Component\HttpKernel\HttpKernelInterface;
2021

2122
class RouteProcessorTest extends TestCase
2223
{
@@ -28,7 +29,7 @@ public function testProcessor()
2829
{
2930
$request = $this->mockFilledRequest();
3031
$processor = new RouteProcessor();
31-
$processor->addRouteData($this->mockGetResponseEvent($request));
32+
$processor->addRouteData($this->getRequestEvent($request));
3233

3334
$record = $processor(['extra' => []]);
3435

@@ -44,7 +45,7 @@ public function testProcessorWithoutParams()
4445
{
4546
$request = $this->mockFilledRequest();
4647
$processor = new RouteProcessor(false);
47-
$processor->addRouteData($this->mockGetResponseEvent($request));
48+
$processor->addRouteData($this->getRequestEvent($request));
4849

4950
$record = $processor(['extra' => []]);
5051

@@ -63,8 +64,8 @@ public function testProcessorWithSubRequests()
6364
$subRequest = $this->mockFilledRequest($controllerFromSubRequest);
6465

6566
$processor = new RouteProcessor(false);
66-
$processor->addRouteData($this->mockGetResponseEvent($mainRequest));
67-
$processor->addRouteData($this->mockGetResponseEvent($subRequest));
67+
$processor->addRouteData($this->getRequestEvent($mainRequest));
68+
$processor->addRouteData($this->getRequestEvent($subRequest, HttpKernelInterface::SUB_REQUEST));
6869

6970
$record = $processor(['extra' => []]);
7071

@@ -86,9 +87,9 @@ public function testFinishRequestRemovesRelatedEntry()
8687
$subRequest = $this->mockFilledRequest('OtherController::otherMethod');
8788

8889
$processor = new RouteProcessor(false);
89-
$processor->addRouteData($this->mockGetResponseEvent($mainRequest));
90-
$processor->addRouteData($this->mockGetResponseEvent($subRequest));
91-
$processor->removeRouteData($this->mockFinishRequestEvent($subRequest));
90+
$processor->addRouteData($this->getRequestEvent($mainRequest));
91+
$processor->addRouteData($this->getRequestEvent($subRequest, HttpKernelInterface::SUB_REQUEST));
92+
$processor->removeRouteData($this->getFinishRequestEvent($subRequest));
9293
$record = $processor(['extra' => []]);
9394

9495
$this->assertArrayHasKey('requests', $record['extra']);
@@ -98,7 +99,7 @@ public function testFinishRequestRemovesRelatedEntry()
9899
$record['extra']['requests'][0]
99100
);
100101

101-
$processor->removeRouteData($this->mockFinishRequestEvent($mainRequest));
102+
$processor->removeRouteData($this->getFinishRequestEvent($mainRequest));
102103
$record = $processor(['extra' => []]);
103104

104105
$this->assertArrayNotHasKey('requests', $record['extra']);
@@ -108,7 +109,7 @@ public function testProcessorWithEmptyRequest()
108109
{
109110
$request = $this->mockEmptyRequest();
110111
$processor = new RouteProcessor();
111-
$processor->addRouteData($this->mockGetResponseEvent($request));
112+
$processor->addRouteData($this->getRequestEvent($request));
112113

113114
$record = $processor(['extra' => []]);
114115
$this->assertEquals(['extra' => []], $record);
@@ -122,20 +123,14 @@ public function testProcessorDoesNothingWhenNoRequest()
122123
$this->assertEquals(['extra' => []], $record);
123124
}
124125

125-
private function mockGetResponseEvent(Request $request): GetResponseEvent
126+
private function getRequestEvent(Request $request, int $requestType = HttpKernelInterface::MASTER_REQUEST): RequestEvent
126127
{
127-
$event = $this->getMockBuilder(GetResponseEvent::class)->disableOriginalConstructor()->getMock();
128-
$event->method('getRequest')->willReturn($request);
129-
130-
return $event;
128+
return new RequestEvent($this->createMock(HttpKernelInterface::class), $request, $requestType);
131129
}
132130

133-
private function mockFinishRequestEvent(Request $request): FinishRequestEvent
131+
private function getFinishRequestEvent(Request $request): FinishRequestEvent
134132
{
135-
$event = $this->getMockBuilder(FinishRequestEvent::class)->disableOriginalConstructor()->getMock();
136-
$event->method('getRequest')->willReturn($request);
137-
138-
return $event;
133+
return new FinishRequestEvent($this->createMock(HttpKernelInterface::class), $request, HttpKernelInterface::MASTER_REQUEST);
139134
}
140135

141136
private function mockEmptyRequest(): Request

src/Symfony/Bridge/Monolog/Tests/Processor/WebProcessorTest.php

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
use Symfony\Bridge\Monolog\Processor\WebProcessor;
1717
use Symfony\Component\HttpFoundation\Request;
1818
use Symfony\Component\HttpKernel\Event\RequestEvent;
19+
use Symfony\Component\HttpKernel\HttpKernelInterface;
1920

2021
class WebProcessorTest extends TestCase
2122
{
@@ -71,7 +72,7 @@ public function testCanBeConstructedWithExtraFields()
7172
$this->assertEquals($server['HTTP_REFERER'], $record['extra']['referrer']);
7273
}
7374

74-
private function createRequestEvent($additionalServerParameters = []): array
75+
private function createRequestEvent(array $additionalServerParameters = []): array
7576
{
7677
$server = array_merge(
7778
[
@@ -88,15 +89,7 @@ private function createRequestEvent($additionalServerParameters = []): array
8889
$request->server->replace($server);
8990
$request->headers->replace($server);
9091

91-
$event = $this->getMockBuilder(RequestEvent::class)
92-
->disableOriginalConstructor()
93-
->getMock();
94-
$event->expects($this->any())
95-
->method('isMasterRequest')
96-
->willReturn(true);
97-
$event->expects($this->any())
98-
->method('getRequest')
99-
->willReturn($request);
92+
$event = new RequestEvent($this->createMock(HttpKernelInterface::class), $request, HttpKernelInterface::MASTER_REQUEST);
10093

10194
return [$event, $server];
10295
}

src/Symfony/Component/HttpKernel/Tests/EventListener/LocaleListenerTest.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
use PHPUnit\Framework\TestCase;
1515
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
1616
use Symfony\Component\HttpFoundation\Request;
17+
use Symfony\Component\HttpKernel\Event\FinishRequestEvent;
1718
use Symfony\Component\HttpKernel\Event\RequestEvent;
1819
use Symfony\Component\HttpKernel\EventListener\LocaleListener;
1920
use Symfony\Component\HttpKernel\HttpKernelInterface;
@@ -96,7 +97,7 @@ public function testRouterResetWithParentRequestOnKernelFinishRequest()
9697

9798
$this->requestStack->expects($this->once())->method('getParentRequest')->willReturn($parentRequest);
9899

99-
$event = $this->getMockBuilder('Symfony\Component\HttpKernel\Event\FinishRequestEvent')->disableOriginalConstructor()->getMock();
100+
$event = new FinishRequestEvent($this->createMock(HttpKernelInterface::class), new Request(), HttpKernelInterface::MASTER_REQUEST);
100101

101102
$listener = new LocaleListener($this->requestStack, 'fr', $router);
102103
$listener->onKernelFinishRequest($event);

src/Symfony/Component/Security/Http/Tests/Firewall/ContextListenerTest.php

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -207,9 +207,6 @@ public function testOnKernelResponseListenerRemovesItself()
207207
{
208208
$tokenStorage = $this->getMockBuilder(TokenStorageInterface::class)->getMock();
209209
$dispatcher = $this->getMockBuilder(EventDispatcherInterface::class)->getMock();
210-
$event = $this->getMockBuilder(ResponseEvent::class)
211-
->disableOriginalConstructor()
212-
->getMock();
213210

214211
$listener = new ContextListener($tokenStorage, [], 'key123', null, $dispatcher);
215212

@@ -218,12 +215,7 @@ public function testOnKernelResponseListenerRemovesItself()
218215
->method('hasSession')
219216
->willReturn(true);
220217

221-
$event->expects($this->any())
222-
->method('isMasterRequest')
223-
->willReturn(true);
224-
$event->expects($this->any())
225-
->method('getRequest')
226-
->willReturn($request);
218+
$event = new ResponseEvent($this->createMock(HttpKernelInterface::class), $request, HttpKernelInterface::MASTER_REQUEST, new Response());
227219

228220
$dispatcher->expects($this->once())
229221
->method('removeListener')

src/Symfony/Component/Security/Http/Tests/RememberMe/ResponseListenerTest.php

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -90,16 +90,8 @@ private function getResponse()
9090
return $response;
9191
}
9292

93-
private function getEvent($request, $response, $type = HttpKernelInterface::MASTER_REQUEST)
93+
private function getEvent(Request $request, Response $response, int $type = HttpKernelInterface::MASTER_REQUEST): ResponseEvent
9494
{
95-
$event = $this->getMockBuilder(ResponseEvent::class)
96-
->disableOriginalConstructor()
97-
->getMock();
98-
99-
$event->expects($this->any())->method('getRequest')->willReturn($request);
100-
$event->expects($this->any())->method('isMasterRequest')->willReturn(HttpKernelInterface::MASTER_REQUEST === $type);
101-
$event->expects($this->any())->method('getResponse')->willReturn($response);
102-
103-
return $event;
95+
return new ResponseEvent($this->createMock(HttpKernelInterface::class), $request, $type, $response);
10496
}
10597
}

src/Symfony/Component/WebLink/Tests/EventListener/AddLinkHeaderListenerTest.php

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
use Symfony\Component\HttpFoundation\Request;
1717
use Symfony\Component\HttpFoundation\Response;
1818
use Symfony\Component\HttpKernel\Event\ResponseEvent;
19+
use Symfony\Component\HttpKernel\HttpKernelInterface;
1920
use Symfony\Component\HttpKernel\KernelEvents;
2021
use Symfony\Component\WebLink\EventListener\AddLinkHeaderListener;
2122
use Symfony\Component\WebLink\GenericLinkProvider;
@@ -33,10 +34,7 @@ public function testOnKernelResponse()
3334

3435
$subscriber = new AddLinkHeaderListener();
3536

36-
$event = $this->getMockBuilder(ResponseEvent::class)->disableOriginalConstructor()->getMock();
37-
$event->method('isMasterRequest')->willReturn(true);
38-
$event->method('getRequest')->willReturn($request);
39-
$event->method('getResponse')->willReturn($response);
37+
$event = new ResponseEvent($this->createMock(HttpKernelInterface::class), $request, HttpKernelInterface::MASTER_REQUEST, $response);
4038

4139
$subscriber->onKernelResponse($event);
4240

0 commit comments

Comments
 (0)
0