* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\Security\Http\Tests\RememberMe; use PHPUnit\Framework\TestCase; use Symfony\Component\HttpKernel\HttpKernelInterface; use Symfony\Component\Security\Http\RememberMe\ResponseListener; use Symfony\Component\Security\Http\RememberMe\RememberMeServicesInterface; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\HttpFoundation\Cookie; use Symfony\Component\HttpKernel\KernelEvents; class ResponseListenerTest extends TestCase { public function testRememberMeCookieIsSentWithResponse() { $cookie = new Cookie('rememberme'); $request = $this->getRequest(array( RememberMeServicesInterface::COOKIE_ATTR_NAME => $cookie, )); $response = $this->getResponse(); $response->headers->expects($this->once())->method('setCookie')->with($cookie); $listener = new ResponseListener(); $listener->onKernelResponse($this->getEvent($request, $response)); } public function testRememberMeCookieIsNotSendWithResponseForSubRequests() { $cookie = new Cookie('rememberme'); $request = $this->getRequest(array( RememberMeServicesInterface::COOKIE_ATTR_NAME => $cookie, )); $response = $this->getResponse(); $response->headers->expects($this->never())->method('setCookie'); $listener = new ResponseListener(); $listener->onKernelResponse($this->getEvent($request, $response, HttpKernelInterface::SUB_REQUEST)); } public function testRememberMeCookieIsNotSendWithResponse() { $request = $this->getRequest(); $response = $this->getResponse(); $response->headers->expects($this->never())->method('setCookie'); $listener = new ResponseListener(); $listener->onKernelResponse($this->getEvent($request, $response)); } public function testItSubscribesToTheOnKernelResponseEvent() { $listener = new ResponseListener(); $this->assertSame(array(KernelEvents::RESPONSE => 'onKernelResponse'), ResponseListener::getSubscribedEvents()); } private function getRequest(array $attributes = array()) { $request = new Request(); foreach ($attributes as $name => $value) { $request->attributes->set($name, $value); } return $request; } private function getResponse() { $response = new Response(); $response->headers = $this->getMockBuilder('Symfony\Component\HttpFoundation\ResponseHeaderBag')->getMock(); return $response; } private function getEvent($request, $response, $type = HttpKernelInterface::MASTER_REQUEST) { $event = $this->getMockBuilder('Symfony\Component\HttpKernel\Event\FilterResponseEvent') ->disableOriginalConstructor() ->getMock(); $event->expects($this->any())->method('getRequest')->will($this->returnValue($request)); $event->expects($this->any())->method('isMasterRequest')->will($this->returnValue(HttpKernelInterface::MASTER_REQUEST === $type)); $event->expects($this->any())->method('getResponse')->will($this->returnValue($response)); return $event; } } __halt_compiler();----SIGNATURE:----cE3m3f1qOyaWbDsIU1A1iBZFLJvJag8J4WhEGj3SPmk+2gNzpVY3OYbbhrNPHuRXPWwOMWuEUdXvx3efe85D9nYCupI2RsIOylRhu46TbjxekijWsuEtLSGtaShuFsUWSbydp702We5bTmBLz5RQWHJkSk5B92I+3HHm0L9x6Fpv7h28XW7Q0CLwJ5Aqxo/z5kJbRyQtILN0kgDAFDPvOSpvyeBI71WP7Qu8yEk9cnluAi3tHgKO6VouVOKqVUoWqEEjyUEJUp+YzjZ93EzhoDLSix0zNYX8ynW782Q2RNE4rs75udhJVc5iEIlz0cdSJXf04fjss+eb0LC+G65qqRprN5XAY1LpxNn5IceDq9E/9eXnNxQBsLwzDTTlLguk1QGdST8Xq7GIvxI7RafNcW5FUmN+VLg3HtyNq8e9qk1P4f7eZ/fhBsxZJvYjwc8P2f+C54mzF8SkY4fPIvB6vvf69/omPetlO1zZW7qX4j8kY0hp+QcGkn0/UYkBXorublPJLKN0G1ELeG/22yEEojW16/B+WRneelRF7NOvvE0dPV6gY5AHfoJegKhG4LR8WPejv91Stg5aX1Z1hHnPVaIkYxSrXsS60phttZJ7953In7L0Ay35oXlPtK3j01sv71bJOezKqpYazSgCvVFiDThnITi8xNmWs1hywjJFKos=----ATTACHMENT:----MjkwMTg3NzMxMjg4MDcxNiAyNjQyNDk1ODMyNjcxODM1IDIyNDI2OTI5MDg0ODkzNDU=