public function testConstructor()
 {
     $user = $this->getMock('Symfony\\Component\\Security\\Core\\User\\UserInterface');
     $token = $this->getMock('Symfony\\Component\\Security\\Core\\Authentication\\Token\\TokenInterface');
     $runAsToken = new RunAsUserToken('foo', $user, 'secret', array('ROLE_FOO'), $token);
     $this->assertSame($user, $runAsToken->getUser());
     $this->assertSame('secret', $runAsToken->getCredentials());
     $this->assertSame($token, $runAsToken->getOriginalToken());
     $this->assertEquals(array(new Role('ROLE_FOO')), $runAsToken->getRoles());
     $this->assertSame('foo', $runAsToken->getKey());
 }
 protected function restoreOriginalToken(RunAsUserToken $runAsToken)
 {
     if (null !== $this->logger) {
         $this->logger->debug('Populating security context with original Token.');
     }
     $this->securityContext->setToken($runAsToken->getOriginalToken());
 }
 /**
  * Restores the original user token.
  *
  * @param RunAsUserToken $runAsToken
  */
 private function restoreOriginalToken(RunAsUserToken $runAsToken)
 {
     if (null !== $this->logger) {
         $this->logger->debug('Populating TokenStorage with original Token.');
     }
     $this->tokenStorage->setToken($runAsToken->getOriginalToken());
 }