*/ class SecurityIdentityTest extends AclTestCase { public function testToAclIdentityUserWithInvalidIdentifier() { $identity = new SecurityIdentity(); $identity->setIdentifier('invalidIdentifier'); $identity->setUsername(true); $this->expectException('InvalidArgumentException'); SecurityIdentity::toAclIdentity($identity); } public function testToAclIdentityUnknownSecurityIdentity() { $identity = new SecurityIdentity(); $identity->setIdentifier('invalidIdentifier'); $identity->setUsername(false); $this->expectException('InvalidArgumentException'); SecurityIdentity::toAclIdentity($identity); } public function testToAclIdentityValidUser() { $identity = new SecurityIdentity(); $identity->setIdentifier('Propel\Bundle\PropelBundle\Tests\Fixtures\UserProxy-propel'); $identity->setUsername(true); $secIdentity = SecurityIdentity::toAclIdentity($identity); $this->assertInstanceOf('Symfony\Component\Security\Acl\Domain\UserSecurityIdentity', $secIdentity); } public function testToAclIdentityMultipleDashes() { $identity = new SecurityIdentity(); $identity->setIdentifier('Propel\Bundle\PropelBundle\Tests\Fixtures\UserProxy-some-username@domain.com'); $identity->setUsername(true); $secIdentity = SecurityIdentity::toAclIdentity($identity); $this->assertInstanceOf('Symfony\Component\Security\Acl\Domain\UserSecurityIdentity', $secIdentity); $this->assertEquals('some-username@domain.com', $secIdentity->getUsername()); } public function testToAclIdentityValidRole() { $identity = new SecurityIdentity(); $identity->setIdentifier('ROLE_ADMIN'); $identity->setUsername(false); $secIdentity = SecurityIdentity::toAclIdentity($identity); $this->assertInstanceOf('Symfony\Component\Security\Acl\Domain\RoleSecurityIdentity', $secIdentity); $identity = new SecurityIdentity(); $identity->setIdentifier('IS_AUTHENTICATED_ANONYMOUSLY'); $identity->setUsername(false); $secIdentity = SecurityIdentity::toAclIdentity($identity); $this->assertInstanceOf('Symfony\Component\Security\Acl\Domain\RoleSecurityIdentity', $secIdentity); } public function testFromAclIdentityWithInvalid() { $secIdentity = $this->getMockBuilder('Symfony\Component\Security\Acl\Model\SecurityIdentityInterface')->getMock(); $this->expectException('InvalidArgumentException'); SecurityIdentity::fromAclIdentity($secIdentity, $this->con); } public function testFromAclIdentityWithUser() { $secIdentity = new UserSecurityIdentity('propel', 'Propel\Bundle\PropelBundle\Tests\Fixtures\UserProxy'); $identity = SecurityIdentity::fromAclIdentity($secIdentity, $this->con); $this->assertInstanceOf('Propel\Bundle\PropelBundle\Model\Acl\SecurityIdentity', $identity); $this->assertEquals(true, $identity->getUsername()); $this->assertEquals('Propel\Bundle\PropelBundle\Tests\Fixtures\UserProxy-propel', $identity->getIdentifier()); $this->assertGreaterThan(0, $identity->getId()); $dbEntry = SecurityIdentityQuery::create()->findPk($identity->getId()); $this->assertInstanceOf('Propel\Bundle\PropelBundle\Model\Acl\SecurityIdentity', $dbEntry); } public function testFromAclIdentityWithRole() { $secIdentity = new RoleSecurityIdentity(new Role('ROLE_USER')); $identity = SecurityIdentity::fromAclIdentity($secIdentity, $this->con); $this->assertInstanceOf('Propel\Bundle\PropelBundle\Model\Acl\SecurityIdentity', $identity); $this->assertEquals(false, $identity->getUsername()); $this->assertEquals('ROLE_USER', $identity->getIdentifier()); $this->assertGreaterThan(0, $identity->getId()); $dbEntry = SecurityIdentityQuery::create()->findPk($identity->getId()); $this->assertInstanceOf('Propel\Bundle\PropelBundle\Model\Acl\SecurityIdentity', $dbEntry); } }