* * 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:----E83SYOQY8UX6TB5ungvUUq0pC8Or9qHZUNjxX9E1oLZjHKPZLqRUvNRI2Wc8A9P++lXsy4k1GNOH5tHayrNzoWaf9PfwC5FgIbNeVZn4BvdqokWDBpi0k/4UPWWovWJmufwZjhPSMbQJyyCvaFCdUBEAJvDORkXl8ik17DNBppNFJirMnMRLreuLgCs3CilZMTqINCwPBRUbtjjIDOco8rLMOPpbiTOnY6I9Dg/8XTlWwt0rs+JNC7KqwdaGwUJ+clCPyw60Iev+ZnW2o4iOGa1fmbXIVLweE9e8CSjYJQA1Yd5y9e6ex4nels0SGfEbGJWpUHGgaCd7PbpCBg2+M2aH75mQv8rxq2KrA5X8+nSRS3ibBlFjXA9lWEptd3laj87LBkLZnkpUr0tlN/f3qn482MReHqgz8dH5kR0ZI6pKleosK/uH2y1nolCHTTFpKj4jiqNL2JtZkFo4HKyyhqGXLFnFeWsPsYtHaq2dHl69oj6wH8YUxtI9YgUaMN/UiV/99vW9m/0M3GVgmjIq4XsamFN37eDICxR1tVH3qC2jlKCIUKhg9g+PdU5I0jI+DE0a7jwzLubPl26/BnI7hb9Zm2VupiY1cBqBXou6TASBK3uk2tH8VVrUiQkp/OGhTs7xGQd/BlypjZ1IZtk8K3CL1a038EuPVN5i7Oqr8RQ=----ATTACHMENT:----NDY1NjA4MzY4MjU4OTE2MiA0NzgzODY5MTA3Mzk5Mjk2IDIxNzQ1MzY5OTYzMzkwMTM=