vendor/bundles/JMS/SecurityExtraBundle/Tests/Security/Authentication/Token/RunAsUserTokenTest.php
author cavaliet
Mon, 07 Jul 2014 17:23:47 +0200
changeset 122 d672f7dd74dc
parent 0 7f95f8617b0b
permissions -rwxr-xr-x
Added tag V00.17 for changeset ada5f3d8b5b4
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     1
<?php
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     2
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     3
namespace JMS\SecurityExtraBundle\Tests\Security\Authentication\Token;
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     4
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     5
use Symfony\Component\Security\Core\Authentication\Token\UsernamePasswordToken;
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     6
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     7
use Symfony\Component\Security\Core\Role\Role;
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     8
use JMS\SecurityExtraBundle\Security\Authentication\Token\RunAsUserToken;
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     9
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    10
class RunAsUserTokenTest extends \PHPUnit_Framework_TestCase
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    11
{
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    12
    public function testConstructor()
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    13
    {
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    14
        $user = $this->getMock('Symfony\Component\Security\Core\User\UserInterface');
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    15
        $token = $this->getMock('Symfony\Component\Security\Core\Authentication\Token\TokenInterface');
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    16
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    17
        $runAsToken = new RunAsUserToken('foo', $user, 'secret', array('ROLE_FOO'), $token);
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    18
        $this->assertSame($user, $runAsToken->getUser());
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    19
        $this->assertSame('secret', $runAsToken->getCredentials());
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    20
        $this->assertSame($token, $runAsToken->getOriginalToken());
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    21
        $this->assertEquals(array(new Role('ROLE_FOO')), $runAsToken->getRoles());
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    22
        $this->assertSame('foo', $runAsToken->getKey());
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    23
    }
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    24
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    25
    public function testEraseCredentials()
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    26
    {
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    27
        $token = new RunAsUserToken('foo', 'foo', 'secret', array(), $this->getMock('Symfony\Component\Security\Core\Authentication\Token\TokenInterface'));
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    28
        $this->assertEquals('secret', $token->getCredentials());
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    29
        $token->eraseCredentials();
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    30
        $this->assertNull($token->getCredentials());
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    31
    }
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    32
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    33
    public function testSerializeUnserialize()
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    34
    {
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    35
        $token = new RunAsUserToken('foo', 'bar', 'secret', array(), new UsernamePasswordToken('foo', 'pass', 'foo', array()));
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    36
        $this->assertEquals($token, unserialize(serialize($token)));
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    37
    }
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    38
}