public function testLogout() { $this->cookieService->expects($this->once())->method('read')->with($this->request, $this->response)->will($this->returnValue(new SerieToken(1, 'abc', 'def'))); $this->rememberMeService->expects($this->once())->method('removeSerie')->with(1, 'abc'); $this->cookieService->expects($this->once())->method('writeNull')->with($this->response); $this->listener->logout(new AdapterChainEvent()); }
public function testWriteSerie() { $serie = new SerieToken(3, 'abc', 'def'); $serie->setExpiresAt(new \DateTime('+1 year')); $response = new Response(); $this->service->writeSerie($response, $serie); $this->assertTrue($response->getHeaders()->has('SetCookie')); $cookie = $response->getHeaders()->get('SetCookie')->current(); $this->assertInstanceOf('Zend\\Http\\Header\\SetCookie', $cookie); $this->assertEquals('JwPersistentUser', $cookie->getName()); $this->assertEquals('3:abc:def', $cookie->getValue()); $this->assertDateTimeEquals(new \DateTime('+1 year'), new \DateTime($cookie->getExpires())); $this->assertEquals('/', $cookie->getPath()); }
public function testValidLogin() { $request = new Request(); $response = new Response(); $serieTokenInCookie = new SerieToken(1, 'abc', 'def'); $newSerie = new SerieToken(1, 'abc', 'ghi'); // Assume valid user $this->userMapper->expects($this->once())->method('findById')->will($this->returnValue($this->getMock('ZfcUser\\Entity\\UserInterface'))); // Request contains cookie $this->cookieService->expects($this->once())->method('read')->with($request, $response)->will($this->returnValue($serieTokenInCookie)); // Response contains updated cookie $this->cookieService->expects($this->once())->method('writeSerie')->with($response, $newSerie); $newSerie->setExpiresAt(new \DateTime('+3 days')); $this->rememberMeService->expects($this->once())->method('getNextInSerie')->with($serieTokenInCookie)->will($this->returnValue($newSerie)); $this->authService->expects($this->once())->method('authenticate'); $eventManager = $this->getMock('Zend\\EventManager\\EventManagerInterface'); $this->service->setEventManager($eventManager); $eventManager->expects($this->once())->method('trigger')->with('login', $this->service, ['token' => $newSerie]); $this->service->loginFrom($request, $response); }
public function createService(ServiceLocatorInterface $serviceLocator) { $service = new CookieService(); $service->setModuleOptions($serviceLocator->get('JwPersistentUser\\ModuleOptions')); return $service; }