8000 do not mock the Request class · alexpott/symfony@968809c · GitHub
[go: up one dir, main page]

Skip to content
Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 968809c

Browse files
committed
do not mock the Request class
1 parent 068429e commit 968809c

File tree

2 files changed

+22
-45
lines changed

2 files changed

+22
-45
lines changed

src/Symfony/Bundle/WebProfilerBundle/Tests/EventListener/WebDebugToolbarListenerTest.php

Lines changed: 21 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,8 @@
1313

1414
use PHPUnit\Framework\TestCase;
1515
use Symfony\Bundle\WebProfilerBundle\EventListener\WebDebugToolbarListener;
16-
use Symfony\Component\HttpFoundation\HeaderBag;
1716
use Symfony\Component\HttpFoundation\Request;
1817
use Symfony\Component\HttpFoundation\Response;
19-
use Symfony\Component\HttpFoundation\Session\Session;
2018
use Symfony\Component\HttpKernel\Event\ResponseEvent;
2119
use Symfony\Component\HttpKernel\HttpKernelInterface;
2220
use Symfony\Component\HttpKernel\Kernel;
@@ -61,11 +59,11 @@ public function getInjectToolbarTests()
6159
/**
6260
* @dataProvider provideRedirects
6361
*/
64-
public function testHtmlRedirectionIsIntercepted($statusCode, $hasSession)
62+
public function testHtmlRedirectionIsIntercepted($statusCode)
6563
{
6664
$response = new Response('Some content', $statusCode);
6765
$response->headers->set('X-Debug-Token', 'xxxxxxxx');
68-
$event = new ResponseEvent($this->createMock(Kernel::class), $this->getRequestMock(false, 'html', $hasSession), HttpKernelInterface::MASTER_REQUEST, $response);
66+
$event = new ResponseEvent($this->createMock(Kernel::class), new Request(), HttpKernelInterface::MASTER_REQUEST, $response);
6967

7068
$listener = new WebDebugToolbarListener($this->getTwigMock('Redirection'), true);
7169
$listener->onKernelResponse($event);
@@ -78,7 +76,7 @@ public function testNonHtmlRedirectionIsNotIntercepted()
7876
{
7977
$response = new Response('Some content', '301');
8078
$response->headers->set('X-Debug-Token', 'xxxxxxxx');
81-
$event = new ResponseEvent($this->createMock(Kernel::class), $this->getRequestMock(false, 'json', true), HttpKernelInterface::MASTER_REQUEST, $response);
79+
$event = new ResponseEvent($this->createMock(Kernel::class), new Request([], [], ['_format' => 'json']), HttpKernelInterface::MASTER_REQUEST, $response);
8280

8381
$listener = new WebDebugToolbarListener($this->getTwigMock('Redirection'), true);
8482
$listener->onKernelResponse($event);
@@ -92,7 +90,7 @@ public function testToolbarIsInjected()
9290
$response = new Response('<html><head></head><body></body></html>');
9391
$response->headers->set('X-Debug-Token', 'xxxxxxxx');
9492

95-
$event = new ResponseEvent($this->createMock(Kernel::class), $this->getRequestMock(), HttpKernelInterface::MASTER_REQUEST, $response);
93+
$event = new ResponseEvent($this->createMock(Kernel::class), new Request(), HttpKernelInterface::MASTER_REQUEST, $response);
9694

9795
$listener = new WebDebugToolbarListener($this->getTwigMock());
9896
$listener->onKernelResponse($event);
@@ -108,7 +106,7 @@ public function testToolbarIsNotInjectedOnNonHtmlContentType()
108106
$response = new Response('<html><head></head><body></body></html>');
109107
$response->headers->set('X-Debug-Token', 'xxxxxxxx');
110108
$response->headers->set('Content-Type', 'text/xml');
111-
$event = new ResponseEvent($this->createMock(Kernel::class), $this->getRequestMock(), HttpKernelInterface::MASTER_REQUEST, $response);
109+
$event = new ResponseEvent($this->createMock(Kernel::class), new Request(), HttpKernelInterface::MASTER_REQUEST, $response);
112110

113111
$listener = new WebDebugToolbarListener($this->getTwigMock());
114112
$listener->onKernelResponse($event);
@@ -124,7 +122,7 @@ public function testToolbarIsNotInjectedOnContentDispositionAttachment()
124122
$response = new Response('<html><head></head><body></body></html>');
125123
$response->headers->set('X-Debug-Token', 'xxxxxxxx');
126124
$response->headers->set('Content-Disposition', 'attachment; filename=test.html');
127-
$event = new ResponseEvent($this->createMock(Kernel::class), $this->getRequestMock(false, 'html'), HttpKernelInterface::MASTER_REQUEST, $response);
125+
$event = new ResponseEvent($this->createMock(Kernel::class), new Request(), HttpKernelInterface::MASTER_REQUEST, $response);
128126

129127
$listener = new WebDebugToolbarListener($this->getTwigMock());
130128
$listener->onKernelResponse($event);
@@ -136,11 +134,11 @@ public function testToolbarIsNotInjectedOnContentDispositionAttachment()
136134
* @depends testToolbarIsInjected
137135
* @dataProvider provideRedirects
138136
*/
139-
public function testToolbarIsNotInjectedOnRedirection($statusCode, $hasSession)
137+
public function testToolbarIsNotInjectedOnRedirection($statusCode)
140138
{
141139
$response = new Response('<html><head></head><body></body></html>', $statusCode);
142140
$response->headers->set('X-Debug-Token', 'xxxxxxxx');
143-
$event = new ResponseEvent($this->createMock(Kernel::class), $this->getRequestMock(false, 'html', $hasSession), HttpKernelInterface::MASTER_REQUEST, $response);
141+
$event = new ResponseEvent($this->createMock(Kernel::class), new Request(), HttpKernelInterface::MASTER_REQUEST, $response);
144142

145143
$listener = new WebDebugToolbarListener($this->getTwigMock());
146144
$listener->onKernelResponse($event);
@@ -151,10 +149,8 @@ public function testToolbarIsNotInjectedOnRedirection($statusCode, $hasSession)
151149
public function provideRedirects()
152150
{
153151
return [
154-
[301, true],
155-
[302, true],
156-
[301, false],
157-
[302, false],
152+
[301],
153+
[302],
158154
];
159155
}
160156

@@ -165,7 +161,7 @@ public function testToolbarIsNotInjectedWhenThereIsNoNoXDebugTokenResponseHeader
165161
{
166162
$response = new Response('<html><head></head><body></body></html>');
167163

168-
$event = new ResponseEvent($this->createMock(Kernel::class), $this->getRequestMock(), HttpKernelInterface::MASTER_REQUEST, $response);
164+
$event = new ResponseEvent($this->createMock(Kernel::class), new Request(), HttpKernelInterface::MASTER_REQUEST, $response);
169165

170166
$listener = new WebDebugToolbarListener($this->getTwigMock());
171167
$listener->onKernelResponse($event);
@@ -181,7 +177,7 @@ public function testToolbarIsNotInjectedWhenOnSubRequest()
181177
$response = new Response('<html><head></head><body></body></html>');
182178
$response->headers->set('X-Debug-Token', 'xxxxxxxx');
183179

184-
$event = new ResponseEvent($this->createMock(Kernel::class), $this->getRequestMock(), HttpKernelInterface::SUB_REQUEST, $response);
180+
$event = new ResponseEvent($this->createMock(Kernel::class), new Request(), HttpKernelInterface::SUB_REQUEST, $response);
185181

186182
$listener = new WebDebugToolbarListener($this->getTwigMock());
187183
$listener->onKernelResponse($event);
@@ -197,7 +193,7 @@ public function testToolbarIsNotInjectedOnIncompleteHtmlResponses()
197193
$response = new Response('<div>Some content</div>');
198194
$response->headers->set('X-Debug-Token', 'xxxxxxxx');
199195

200-
$event = new ResponseEvent($this->createMock(Kernel::class), $this->getRequestMock(), HttpKernelInterface::MASTER_REQUEST, $response);
196+
$event = new ResponseEvent($this->createMock(Kernel::class), new Request(), HttpKernelInterface::MASTER_REQUEST, $response);
201197

202198
$listener = new WebDebugToolbarListener($this->getTwigMock());
203199
$listener->onKernelResponse($event);
@@ -213,7 +209,10 @@ public function testToolbarIsNotInjectedOnXmlHttpRequests()
213209
$response = new Response('<html><head></head><body></body></html>');
214210
$response->headers->set('X-Debug-Token', 'xxxxxxxx');
215211

216-
$event = new ResponseEvent($this->createMock(Kernel::class), $this->getRequestMock(true), HttpKernelInterface::MASTER_REQUEST, $response);
212+
$request = new Request();
213+ $request->headers->set('X-Requested-With', 'XMLHttpRequest');
214+
215+
$event = new ResponseEvent($this->createMock(Kernel::class), $request, HttpKernelInterface::MASTER_REQUEST, $response);
217216

218217
$listener = new WebDebugToolbarListener($this->getTwigMock());
219218
$listener->onKernelResponse($event);
@@ -229,7 +228,7 @@ public function testToolbarIsNotInjectedOnNonHtmlRequests()
229228
$response = new Response('<html><head></head><body></body></html>');
230229
$response->headers->set('X-Debug-Token', 'xxxxxxxx');
231230

232-
$event = new ResponseEvent($this->createMock(Kernel::class), $this->getRequestMock(false, 'json'), HttpKernelInterface::MASTER_REQUEST, $response);
231+
$event = new ResponseEvent($this->createMock(Kernel::class), new Request([], [], ['_format' => 'json']), HttpKernelInterface::MASTER_REQUEST, $response);
233232

234233
$listener = new WebDebugToolbarListener($this->getTwigMock());
235234
$listener->onKernelResponse($event);
@@ -250,7 +249,7 @@ public function testXDebugUrlHeader()
250249
->willReturn('http://mydomain.com/_profiler/xxxxxxxx')
251250
;
252251

253-
$event = new ResponseEvent($this->createMock(Kernel::class), $this->getRequestMock(), HttpKernelInterface::MASTER_REQUEST, $response);
252+
$event = new ResponseEvent($this->createMock(Kernel::class), new Request(), HttpKernelInterface::MASTER_REQUEST, $response);
254253

255254
$listener = new WebDebugToolbarListener($this->getTwigMock(), false, WebDebugToolbarListener::ENABLED, $urlGenerator);
256255
$listener->onKernelResponse($event);
@@ -271,7 +270,7 @@ public function testThrowingUrlGenerator()
271270
->willThrowException(new \Exception('foo'))
272271
;
273272

274-
$event = new ResponseEvent($this->createMock(Kernel::class), $this->getRequestMock(), HttpKernelInterface::MASTER_REQUEST, $response);
273+
$event = new ResponseEvent($this->createMock(Kernel::class), new Request(), HttpKernelInterface::MASTER_REQUEST, $response);
275274

276275
$listener = new WebDebugToolbarListener($this->getTwigMock(), false, WebDebugToolbarListener::ENABLED, $urlGenerator);
277276
$listener->onKernelResponse($event);
@@ -292,36 +291,14 @@ public function testThrowingErrorCleanup()
292291
->willThrowException(new \Exception("This\nmultiline\r\ntabbed text should\tcome out\r on\n \ta single plain\r\nline"))
293292
;
294293

295-
$event = new ResponseEvent($this->createMock(Kernel::class), $this->getRequestMock(), HttpKernelInterface::MASTER_REQUEST, $response);
294+
$event = new ResponseEvent($this->createMock(Kernel::class), new Request(), HttpKernelInterface::MASTER_REQUEST, $response);
296295

297296
$listener = new WebDebugToolbarListener($this->getTwigMock(), false, WebDebugToolbarListener::ENABLED, $urlGenerator);
298297
$listener->onKernelResponse($event);
299298

300299
$this->assertEquals('Exception: This multiline tabbed text should come out on a single plain line', $response->headers->get('X-Debug-Error'));
301300
}
302301

303-
protected function getRequestMock($isXmlHttpRequest = false, $requestFormat = 'html', $hasSession = true)
304-
{
305-
$request = $this->getMockBuilder(Request::class)->setMethods(['getSession', 'isXmlHttpRequest', 'getRequestFormat'])->disableOriginalConstructor()->getMock();
306-
$request->expects($this->any())
307-
->method('isXmlHttpRequest')
308-
->willReturn($isXmlHttpRequest);
309-
$request->expects($this->any())
310-
->method('getRequestFormat')
311-
->willReturn($requestFormat);
312-
313-
$request->headers = new HeaderBag();
314-
315-
if ($hasSession) {
316-
$session = $this->createMock(Session::class);
317-
$request->expects($this->any())
318-
->method('getSession')
319-
->willReturn($session);
320-
}
321-
322-
return $request;
323-
}
324-
325302
protected function getTwigMock($render = 'WDT')
326303
{
327304
$templating = $this->createMock(Environment::class);

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ public function testInvoke(?string $expected, array $responseArgs)
2929
$response = new Response(...$responseArgs);
3030
$listener = new DisallowRobotsIndexingListener();
3131

32-
$event = new ResponseEvent($this->createMock(HttpKernelInterface::class), $this->createMock(Request::class), KernelInterface::MASTER_REQUEST, $response);
32+
$event = new ResponseEvent($this->createMock(HttpKernelInterface::class), new Request(), KernelInterface::MASTER_REQUEST, $response);
3333

3434
$listener->onResponse($event);
3535

0 commit comments

Comments
 (0)
0