/** * @covers Alchemy\Phrasea\Authentication\Authenticator::isAuthenticated */ public function testIsAuthenticated() { $app = $this->loadApp(); $sessionEntity = new Session(); $sessionEntity->setUser(self::$DI['user']); $sessionEntity->setUserAgent(''); $app['browser'] = $browser = $this->getBrowserMock(); $app['session'] = $session = $this->getSessionMock(); $app['EM'] = $em = $this->getEntityManagerMock(); $app['EM']->expects($this->any())->method('find')->with($this->equalTo('Phraseanet:Session'), $this->equalTo(1))->will($this->returnValue($sessionEntity)); $userRepository = $this->getMockBuilder('Alchemy\\Phrasea\\Model\\Repositories\\UserRepository')->disableOriginalConstructor()->getMock(); $userRepository->expects($this->once())->method('find')->with($this->equalTo(self::$DI['user']->getId()))->will($this->returnValue(self::$DI['user'])); $app['manipulator.user'] = $this->getMockBuilder('Alchemy\\Phrasea\\Model\\Manipulator\\UserManipulator')->disableOriginalConstructor()->getMock(); $app['manipulator.user']->expects($this->once())->method('getRepository')->will($this->returnValue($userRepository)); $session->set('usr_id', self::$DI['user']->getId()); $session->set('session_id', 1); $authenticator = new Authenticator($app, $browser, $session, $app['EM']); $this->assertTrue($authenticator->isAuthenticated()); $this->assertEquals(self::$DI['user'], $authenticator->getUser()); }
/** * Authenticates self::['user'] against application. * * @param Application $app * @param User $user */ protected function authenticate(Application $app, User $user = null) { /** @var User $user */ $user = $user ?: self::$DI['user']; $app['session']->clear(); $app['session']->set('usr_id', $user->getId()); $session = new Session(); $session->setUser($user); $session->setUserAgent(''); $app['orm.em']->persist($session); $app['orm.em']->flush(); $app['session']->set('session_id', $session->getId()); $app->getAuthenticator()->reinitUser(); }
/** * Authenticates self::['user'] against application. * * @param Application $app * @param User $user */ protected function authenticate(Application $app, $user = null) { $user = $user ?: self::$DI['user']; $app['session']->clear(); $app['session']->set('usr_id', self::$DI['user']->getId()); $session = new Session(); $session->setUser(self::$DI['user']); $session->setUserAgent(''); self::$DI['app']['EM']->persist($session); self::$DI['app']['EM']->flush(); $app['session']->set('session_id', $session->getId()); self::$DI['app']['authentication']->reinitUser(); }
/** * {@inheritDoc} */ public function setUserAgent($userAgent) { $this->__initializer__ && $this->__initializer__->__invoke($this, 'setUserAgent', array($userAgent)); return parent::setUserAgent($userAgent); }