@@ -360,4 +360,41 @@ public function testHandleMWithultipleAttributesShouldBeHandledAsAnd()
360
360
361
361
$ listener (new RequestEvent ($ this ->createMock (HttpKernelInterface::class), $ request , HttpKernelInterface::MAIN_REQUEST ));
362
362
}
363
+
364
+ public function testLazyPublicPagesShouldNotAccessTokenStorage ()
365
+ {
366
+ $ tokenStorage = $ this ->createMock (TokenStorageInterface::class);
367
+ $ tokenStorage ->expects ($ this ->never ())->method ('getToken ' );
368
+
369
+ $ request = new Request ();
370
+ $ accessMap = $ this ->createMock (AccessMapInterface::class);
371
+ $ accessMap ->expects ($ this ->any ())
372
+ ->method ('getPatterns ' )
373
+ ->with ($ this ->equalTo ($ request ))
374
+ ->willReturn ([[AuthenticatedVoter::PUBLIC_ACCESS ], null ])
375
+ ;
376
+
377
+ $ listener = new AccessListener ($ tokenStorage , $ this ->createMock (AccessDecisionManagerInterface::class), $ accessMap , $ this ->createMock (AuthenticationManagerInterface::class), false );
378
+ $ listener (new LazyResponseEvent (new RequestEvent ($ this ->createMock (HttpKernelInterface::class), $ request , HttpKernelInterface::MAIN_REQUEST )));
379
+ }
380
+
381
+ /**
382
+ * @group legacy
383
+ */
384
+ public function testLegacyLazyPublicPagesShouldNotAccessTokenStorage ()
385
+ {
386
+ $ tokenStorage = $ this ->createMock (TokenStorageInterface::class);
387
+ $ tokenStorage ->expects ($ this ->never ())->method ('getToken ' );
388
+
389
+ $ request = new Request ();
390
+ $ accessMap = $ this ->createMock (AccessMapInterface::class);
391
+ $ accessMap ->expects ($ this ->any ())
392
+ ->method ('getPatterns ' )
393
+ ->with ($ this ->equalTo ($ request ))
394
+ ->willReturn ([[AuthenticatedVoter::IS_AUTHENTICATED_ANONYMOUSLY ], null ])
395
+ ;
396
+
397
+ $ listener = new AccessListener ($ tokenStorage , $ this ->createMock (AccessDecisionManagerInterface::class), $ accessMap , $ this ->createMock (AuthenticationManagerInterface::class), false );
398
+ $ listener (new LazyResponseEvent (new RequestEvent ($ this ->createMock (HttpKernelInterface::class), $ request , HttpKernelInterface::MAIN_REQUEST )));
399
+ }
363
400
}
0 commit comments