diff options
Diffstat (limited to 'Tests/Core/Authentication/Token/AbstractTokenTest.php')
-rw-r--r-- | Tests/Core/Authentication/Token/AbstractTokenTest.php | 244 |
1 files changed, 0 insertions, 244 deletions
diff --git a/Tests/Core/Authentication/Token/AbstractTokenTest.php b/Tests/Core/Authentication/Token/AbstractTokenTest.php deleted file mode 100644 index 783c27e..0000000 --- a/Tests/Core/Authentication/Token/AbstractTokenTest.php +++ /dev/null @@ -1,244 +0,0 @@ -<?php - -/* - * This file is part of the Symfony package. - * - * (c) Fabien Potencier <fabien@symfony.com> - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Security\Tests\Core\Authentication\Token; - -use Symfony\Component\Security\Core\Role\Role; - -class TestUser -{ - protected $name; - - public function __construct($name) - { - $this->name = $name; - } - - public function __toString() - { - return $this->name; - } -} - -class AbstractTokenTest extends \PHPUnit_Framework_TestCase -{ - public function testGetUsername() - { - $token = $this->getToken(array('ROLE_FOO')); - $token->setUser('fabien'); - $this->assertEquals('fabien', $token->getUsername()); - - $token->setUser(new TestUser('fabien')); - $this->assertEquals('fabien', $token->getUsername()); - - $user = $this->getMock('Symfony\Component\Security\Core\User\UserInterface'); - $user->expects($this->once())->method('getUsername')->will($this->returnValue('fabien')); - $token->setUser($user); - $this->assertEquals('fabien', $token->getUsername()); - } - - public function testEraseCredentials() - { - $token = $this->getToken(array('ROLE_FOO')); - - $user = $this->getMock('Symfony\Component\Security\Core\User\UserInterface'); - $user->expects($this->once())->method('eraseCredentials'); - $token->setUser($user); - - $token->eraseCredentials(); - } - - /** - * @covers Symfony\Component\Security\Core\Authentication\Token\AbstractToken::serialize - * @covers Symfony\Component\Security\Core\Authentication\Token\AbstractToken::unserialize - */ - public function testSerialize() - { - $token = $this->getToken(array('ROLE_FOO')); - $token->setAttributes(array('foo' => 'bar')); - - $uToken = unserialize(serialize($token)); - - $this->assertEquals($token->getRoles(), $uToken->getRoles()); - $this->assertEquals($token->getAttributes(), $uToken->getAttributes()); - } - - /** - * @covers Symfony\Component\Security\Core\Authentication\Token\AbstractToken::__construct - */ - public function testConstructor() - { - $token = $this->getToken(array('ROLE_FOO')); - $this->assertEquals(array(new Role('ROLE_FOO')), $token->getRoles()); - - $token = $this->getToken(array(new Role('ROLE_FOO'))); - $this->assertEquals(array(new Role('ROLE_FOO')), $token->getRoles()); - - $token = $this->getToken(array(new Role('ROLE_FOO'), 'ROLE_BAR')); - $this->assertEquals(array(new Role('ROLE_FOO'), new Role('ROLE_BAR')), $token->getRoles()); - } - - /** - * @covers Symfony\Component\Security\Core\Authentication\Token\AbstractToken::isAuthenticated - * @covers Symfony\Component\Security\Core\Authentication\Token\AbstractToken::setAuthenticated - */ - public function testAuthenticatedFlag() - { - $token = $this->getToken(); - $this->assertFalse($token->isAuthenticated()); - - $token->setAuthenticated(true); - $this->assertTrue($token->isAuthenticated()); - - $token->setAuthenticated(false); - $this->assertFalse($token->isAuthenticated()); - } - - /** - * @covers Symfony\Component\Security\Core\Authentication\Token\AbstractToken::getAttributes - * @covers Symfony\Component\Security\Core\Authentication\Token\AbstractToken::setAttributes - * @covers Symfony\Component\Security\Core\Authentication\Token\AbstractToken::hasAttribute - * @covers Symfony\Component\Security\Core\Authentication\Token\AbstractToken::getAttribute - * @covers Symfony\Component\Security\Core\Authentication\Token\AbstractToken::setAttribute - */ - public function testAttributes() - { - $attributes = array('foo' => 'bar'); - $token = $this->getToken(); - $token->setAttributes($attributes); - - $this->assertEquals($attributes, $token->getAttributes(), '->getAttributes() returns the token attributes'); - $this->assertEquals('bar', $token->getAttribute('foo'), '->getAttribute() returns the value of an attribute'); - $token->setAttribute('foo', 'foo'); - $this->assertEquals('foo', $token->getAttribute('foo'), '->setAttribute() changes the value of an attribute'); - $this->assertTrue($token->hasAttribute('foo'), '->hasAttribute() returns true if the attribute is defined'); - $this->assertFalse($token->hasAttribute('oof'), '->hasAttribute() returns false if the attribute is not defined'); - - try { - $token->getAttribute('foobar'); - $this->fail('->getAttribute() throws an \InvalidArgumentException exception when the attribute does not exist'); - } catch (\Exception $e) { - $this->assertInstanceOf('\InvalidArgumentException', $e, '->getAttribute() throws an \InvalidArgumentException exception when the attribute does not exist'); - $this->assertEquals('This token has no "foobar" attribute.', $e->getMessage(), '->getAttribute() throws an \InvalidArgumentException exception when the attribute does not exist'); - } - } - - /** - * @dataProvider getUsers - */ - public function testSetUser($user) - { - $token = $this->getToken(); - $token->setUser($user); - $this->assertSame($user, $token->getUser()); - } - - public function getUsers() - { - $user = $this->getMock('Symfony\Component\Security\Core\User\UserInterface'); - $advancedUser = $this->getMock('Symfony\Component\Security\Core\User\AdvancedUserInterface'); - - return array( - array($advancedUser), - array($user), - array(new TestUser('foo')), - array('foo'), - ); - } - - /** - * @dataProvider getUserChanges - */ - public function testSetUserSetsAuthenticatedToFalseWhenUserChanges($firstUser, $secondUser) - { - $token = $this->getToken(); - $token->setAuthenticated(true); - $this->assertTrue($token->isAuthenticated()); - - $token->setUser($firstUser); - $this->assertTrue($token->isAuthenticated()); - - $token->setUser($secondUser); - $this->assertFalse($token->isAuthenticated()); - } - - public function getUserChanges() - { - $user = $this->getMock('Symfony\Component\Security\Core\User\UserInterface'); - $advancedUser = $this->getMock('Symfony\Component\Security\Core\User\AdvancedUserInterface'); - - return array( - array( - 'foo', 'bar', - ), - array( - 'foo', new TestUser('bar'), - ), - array( - 'foo', $user, - ), - array( - 'foo', $advancedUser - ), - array( - $user, 'foo' - ), - array( - $advancedUser, 'foo' - ), - array( - $user, new TestUser('foo'), - ), - array( - $advancedUser, new TestUser('foo'), - ), - array( - new TestUser('foo'), new TestUser('bar'), - ), - array( - new TestUser('foo'), 'bar', - ), - array( - new TestUser('foo'), $user, - ), - array( - new TestUser('foo'), $advancedUser, - ), - array( - $user, $advancedUser - ), - array( - $advancedUser, $user - ), - ); - } - - /** - * @dataProvider getUsers - */ - public function testSetUserDoesNotSetAuthenticatedToFalseWhenUserDoesNotChange($user) - { - $token = $this->getToken(); - $token->setAuthenticated(true); - $this->assertTrue($token->isAuthenticated()); - - $token->setUser($user); - $this->assertTrue($token->isAuthenticated()); - - $token->setUser($user); - $this->assertTrue($token->isAuthenticated()); - } - - protected function getToken(array $roles = array()) - { - return $this->getMockForAbstractClass('Symfony\Component\Security\Core\Authentication\Token\AbstractToken', array($roles)); - } -} |