public function testRemoveCookie() { $bag = new ResponseHeaderBag(); $bag->setCookie(new Cookie('foo', 'bar', 0, '/path/foo', 'foo.bar')); $bag->setCookie(new Cookie('bar', 'foo', 0, '/path/bar', 'foo.bar')); $cookies = $bag->getCookies(ResponseHeaderBag::COOKIES_ARRAY); $this->assertTrue(isset($cookies['foo.bar']['/path/foo'])); $bag->removeCookie('foo', '/path/foo', 'foo.bar'); $cookies = $bag->getCookies(ResponseHeaderBag::COOKIES_ARRAY); $this->assertFalse(isset($cookies['foo.bar']['/path/foo'])); $bag->removeCookie('bar', '/path/bar', 'foo.bar'); $cookies = $bag->getCookies(ResponseHeaderBag::COOKIES_ARRAY); $this->assertFalse(isset($cookies['foo.bar'])); }
public function testToStringIncludesCookieHeaders() { $bag = new ResponseHeaderBag(array()); $bag->setCookie(new Cookie('foo', 'bar')); $this->assertContains("Set-Cookie: foo=bar; path=/; httponly", explode("\r\n", $bag->__toString())); $bag->clearCookie('foo'); $this->assertContains("Set-Cookie: foo=deleted; expires=" . gmdate("D, d-M-Y H:i:s T", time() - 31536001) . "; httponly", explode("\r\n", $bag->__toString())); }
public function it_sets_cookie_when_it_does(FilterResponseEvent $event, Response $response, ResponseHeaderBag $headers) { $headers->setCookie(Argument::type('Symfony\\Component\\HttpFoundation\\Cookie')); $response->headers = $headers; $event->getRequestType()->willReturn(HttpKernelInterface::MASTER_REQUEST)->shouldBeCalled(); $event->getRequest()->willReturn($this->secureRequest)->shouldBeCalled(); $event->getResponse()->willReturn($response)->shouldBeCalled(); $this->onKernelResponse($event); }
function it_should_encrypt_a_cookie(Request $request, FilterResponseEvent $event, ResponseHeaderBag $headers, Response $response) { $currentCookie = new Cookie('session', 'test', 3600, '/account', 'example.com', true, false); $newCookie = new Cookie('session', 'dGVzdA==', 3600, '/account', 'example.com', true, false); $headers->getCookies()->willReturn([$currentCookie]); $headers->removeCookie("session", "/account", "example.com")->shouldBeCalled(); $headers->setCookie($newCookie, "/account", "example.com")->shouldBeCalled(); $response->headers = $headers; $event->getRequest()->willReturn($request); $event->getRequestType()->willReturn(HttpKernelInterface::MASTER_REQUEST); $event->getResponse()->willReturn($response); $this->onKernelResponse($event)->shouldReturn(null); }
function it_persists_fake_channel_codes_in_a_cookie(FakeChannelCodeProviderInterface $fakeHostnameProvider, FilterResponseEvent $filterResponseEvent, Request $request, Response $response, ResponseHeaderBag $responseHeaderBag) { $filterResponseEvent->getRequestType()->willReturn(HttpKernelInterface::MASTER_REQUEST); $filterResponseEvent->getRequest()->willReturn($request); $fakeHostnameProvider->getCode($request)->willReturn('fake_channel_code'); $filterResponseEvent->getResponse()->willReturn($response); $response->headers = $responseHeaderBag; $responseHeaderBag->setCookie(Argument::that(function (Cookie $cookie) { if ($cookie->getName() !== '_channel_code') { return false; } if ($cookie->getValue() !== 'fake_channel_code') { return false; } return true; }))->shouldBeCalled(); $this->onKernelResponse($filterResponseEvent); }
public function testRemoveCookieWithNullRemove() { $bag = new ResponseHeaderBag(); $bag->setCookie(new Cookie('foo', 'bar', 0)); $bag->setCookie(new Cookie('bar', 'foo', 0)); $cookies = $bag->getCookies(ResponseHeaderBag::COOKIES_ARRAY); $this->assertTrue(isset($cookies['']['/'])); $bag->removeCookie('foo', null); $cookies = $bag->getCookies(ResponseHeaderBag::COOKIES_ARRAY); $this->assertFalse(isset($cookies['']['/']['foo'])); $bag->removeCookie('bar', null); $cookies = $bag->getCookies(ResponseHeaderBag::COOKIES_ARRAY); $this->assertFalse(isset($cookies['']['/']['bar'])); }
function it_listens_cookie_event(CookieEvent $cookieEvent, Response $response, ResponseHeaderBag $responseHeaderBag, SessionInterface $session) { $cookieEvent->getSession()->shouldBeCalled()->willReturn($session); $session->has('access_token')->shouldBeCalled()->willReturn(true); $session->has('refresh_token')->shouldBeCalled()->willReturn(true); $cookieEvent->getResponse()->shouldBeCalled()->willReturn($response); $session->get('access_token')->shouldBeCalled()->willReturn('accesstoken'); $session->get('refresh_token')->shouldBeCalled()->willReturn('refreshtoken'); $responseHeaderBag->setCookie(Argument::type('Symfony\\Component\\HttpFoundation\\Cookie'))->shouldBeCalled(); $responseHeaderBag->setCookie(Argument::type('Symfony\\Component\\HttpFoundation\\Cookie'))->shouldBeCalled(); $response->headers = $responseHeaderBag; $this->onCookieEvent($cookieEvent); }