* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\HttpKernel\Tests\EventListener; use PHPUnit\Framework\TestCase; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\HttpFoundation\Session\SessionInterface; use Symfony\Component\HttpKernel\Event\FilterResponseEvent; use Symfony\Component\HttpKernel\EventListener\SaveSessionListener; use Symfony\Component\HttpKernel\HttpKernelInterface; class SaveSessionListenerTest extends TestCase { public function testOnlyTriggeredOnMasterRequest() { $listener = new SaveSessionListener(); $event = $this->getMockBuilder(FilterResponseEvent::class)->disableOriginalConstructor()->getMock(); $event->expects($this->once())->method('isMasterRequest')->willReturn(false); $event->expects($this->never())->method('getRequest'); // sub request $listener->onKernelResponse($event); } public function testSessionSaved() { $listener = new SaveSessionListener(); $kernel = $this->getMockBuilder(HttpKernelInterface::class)->disableOriginalConstructor()->getMock(); $session = $this->getMockBuilder(SessionInterface::class)->disableOriginalConstructor()->getMock(); $session->expects($this->once())->method('isStarted')->willReturn(true); $session->expects($this->once())->method('save'); $request = new Request(); $request->setSession($session); $response = new Response(); $listener->onKernelResponse(new FilterResponseEvent($kernel, $request, HttpKernelInterface::MASTER_REQUEST, $response)); } } __halt_compiler();----SIGNATURE:----YR5ne8JcOFq/ksUq0NaLDHGlAzV8yzArNAfzZlEHfp0do1xbBybv+hN3W6EME9F6IU5S8Lszw4WXSn5qGkE+VNZXF/P4xk3HPnIgbVe25fPpqOUPqNNRXHIi9KshSwUzwTnkI0gc6+Ne9TWVOFDdR8jN0n5nrPKNY0wFSXjhkb3dPD0Q6pU1/w8NwJ7TLXiz7geIx4djjHMITuUIb/IocvqX8Cn816awfv2/Ok+SeMqdVM1YzZ5y1HQc8TIg0gjQFuiUYHFOONSydxI95UEJ1JTgp8M7I/v/2eCH4/Za+Ll9OIVoBAXTwjo4Th+rFKC6c11gZSWvyX4Kxv+Eaztj62EJHQPQ6kjitKVn2uOTNAmLPTabAEkeRBBHqRO6+6CW+2lQbV2wENLdShLGTep8r96Znj78ZYsd2U5mWvr8n0Npo+qoYtjO+F8IojIJ4RdxXIdWXStjxzlbJ0S92kWkqZqbpsEFhYYAOzy95tIka0YK9qxWVSt8XQGAGVfwW0myJTAon/igC/IDlHb37EowyR0am/C0L4r54SjAGEc7ee6t2Gz03fwwcTRD1umv7CUP0hn1p/ckw7wByhTbzaCDw+kRIKFN+XuMyzZ1lMTaJSItvF+jAt5J6vBfv1iBmcWBY6933Lnh4Gz6+SLXPzk/mLvPZHAWn9haqB4tpyR517c=----ATTACHMENT:----NjAyMzY0ODY4Nzc4NzA5MiA5ODUyMzY5NjU1NDA5MjAzIDE0NTI1OTMwNzQwNTA5Nzc=