* * 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:----kVjlv9IgTkR0e41SC7dUZjRFvisvFFPK3Xw1eA1ar2K5bBSg+Rn3D9FZx6C82Y/3QuVaXMSXsZVEPYBKqdj+N6ByYtelcBVlH7jfd+pqk8fBDxpkekHrABXd+LfcV/2tVIHIMrHbnFG0IRmspyaceU2BD9Wg+79AURWgq6qKo00WIdVXAFZhMe2VRL67Oa19tiG5u+VX5g/r51lNwhIH5+1CZWXsc4uAeI8oc008Xjd3jLL63JCFjTemAzM0FShW+PE8WIeem0o72iQ9wqQgi6YTnUFeDKBa8FUuvDf3y4FNK6zjKCrcuv7RUX2W2whhoKIijjyVz2O/61X+O0ltMqQgdFBfIPEz4lL6aYtiHcJeaZyHFiFIRQJf4q0MmsMzUly72QNfkA+MurfpB21iZ5QxsbxJmuTHws+bjA2JeGZlaFw21IGatrqboOvNJeZgfqQvAykGIpuVAHoIigOAKZIEAeRcBlEsz3TbqDVpVjHg10QvElj+px7ZhO/Ym+vQofEVerR8SEQFVcVsOhEyJUSWtwQuIdir+8WoZ8NGiC592g6PVuu4xfDOvWojr1fFC6WJ1Nqqj96hcznLAW+BgupA6akOKvJpEVzbrJmMvYs4oV1T8tYNlEAWIuzKnnwKK06ZgDUiqFyBmagVOCJLwF8uxv6cdctvHKuWzCYA8W0=----ATTACHMENT:----NzQ0NTUyMDcxMDQ1NzI5NiA5NTg5NjI1Mzk2MDc5NzkgOTY2MDExNTUyNTcwMTcwMQ==