summaryrefslogtreecommitdiffstats
path: root/Acl/Tests/Domain/SecurityIdentityRetrievalStrategyTest.php
diff options
context:
space:
mode:
authorNicolas Grekas <nicolas.grekas@gmail.com>2015-08-01 12:05:47 +0200
committerNicolas Grekas <nicolas.grekas@gmail.com>2015-08-01 12:05:47 +0200
commitc63a0c6b5f1d05f1e57d8b29cf2c38b770fad5b3 (patch)
tree0239e276f5957263774224d1f9d6128f2302111a /Acl/Tests/Domain/SecurityIdentityRetrievalStrategyTest.php
parent6de838905fc31153ba80ad1a8f0919fe8ab58ad1 (diff)
parentb60dfa578d6ab5e1766af7adb3f882e585ed161e (diff)
downloadsymfony-security-c63a0c6b5f1d05f1e57d8b29cf2c38b770fad5b3.zip
symfony-security-c63a0c6b5f1d05f1e57d8b29cf2c38b770fad5b3.tar.gz
symfony-security-c63a0c6b5f1d05f1e57d8b29cf2c38b770fad5b3.tar.bz2
Merge branch '2.8'
* 2.8: [Locale] Add missing @group legacy annotations [Form] Add missing @group legacy annotations [Form] Use FQCN form types Fix security-acl deps Fix typo [Security] Removed security-acl from the core fixed typos Fix doctrine mapping validation type error Remove skipping of tests based on ICU data version whenever possible Fix the handling of null as locale in the stub intl classes do not dump leading backslashes in class names fix issue #15377 Skip ::class constant [Config] type specific check for emptiness [Form] Deprecated FormTypeInterface::getName() and passing of type instances Conflicts: UPGRADE-2.8.md composer.json src/Symfony/Bridge/Doctrine/composer.json src/Symfony/Bridge/Twig/composer.json src/Symfony/Bundle/SecurityBundle/composer.json src/Symfony/Component/ClassLoader/ClassMapGenerator.php src/Symfony/Component/DependencyInjection/Tests/ContainerTest.php src/Symfony/Component/Form/Tests/AbstractExtensionTest.php src/Symfony/Component/Form/Tests/AbstractLayoutTest.php src/Symfony/Component/Form/Tests/SimpleFormTest.php src/Symfony/Component/Locale/Tests/LocaleTest.php src/Symfony/Component/Locale/Tests/Stub/StubLocaleTest.php src/Symfony/Component/Security/Acl/README.md src/Symfony/Component/Security/Acl/composer.json
Diffstat (limited to 'Acl/Tests/Domain/SecurityIdentityRetrievalStrategyTest.php')
-rw-r--r--Acl/Tests/Domain/SecurityIdentityRetrievalStrategyTest.php196
1 files changed, 0 insertions, 196 deletions
diff --git a/Acl/Tests/Domain/SecurityIdentityRetrievalStrategyTest.php b/Acl/Tests/Domain/SecurityIdentityRetrievalStrategyTest.php
deleted file mode 100644
index 160c27c..0000000
--- a/Acl/Tests/Domain/SecurityIdentityRetrievalStrategyTest.php
+++ /dev/null
@@ -1,196 +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\Acl\Tests\Domain;
-
-use Symfony\Component\Security\Acl\Domain\RoleSecurityIdentity;
-use Symfony\Component\Security\Acl\Domain\UserSecurityIdentity;
-use Symfony\Component\Security\Acl\Domain\SecurityIdentityRetrievalStrategy;
-
-class SecurityIdentityRetrievalStrategyTest extends \PHPUnit_Framework_TestCase
-{
- /**
- * @dataProvider getSecurityIdentityRetrievalTests
- */
- public function testGetSecurityIdentities($user, array $roles, $authenticationStatus, array $sids)
- {
- $strategy = $this->getStrategy($roles, $authenticationStatus);
-
- if ('anonymous' === $authenticationStatus) {
- $token = $this->getMockBuilder('Symfony\Component\Security\Core\Authentication\Token\AnonymousToken')
- ->disableOriginalConstructor()
- ->getMock();
- } else {
- $class = '';
- if (is_string($user)) {
- $class = 'MyCustomTokenImpl';
- }
-
- $token = $this->getMockBuilder('Symfony\Component\Security\Core\Authentication\Token\TokenInterface')
- ->setMockClassName($class)
- ->getMock();
- }
- $token
- ->expects($this->once())
- ->method('getRoles')
- ->will($this->returnValue(array('foo')))
- ;
- if ('anonymous' === $authenticationStatus) {
- $token
- ->expects($this->never())
- ->method('getUser')
- ;
- } else {
- $token
- ->expects($this->once())
- ->method('getUser')
- ->will($this->returnValue($user))
- ;
- }
-
- $extractedSids = $strategy->getSecurityIdentities($token);
-
- foreach ($extractedSids as $index => $extractedSid) {
- if (!isset($sids[$index])) {
- $this->fail(sprintf('Expected SID at index %d, but there was none.', true));
- }
-
- if (false === $sids[$index]->equals($extractedSid)) {
- $this->fail(sprintf('Index: %d, expected SID "%s", but got "%s".', $index, $sids[$index], $extractedSid));
- }
- }
- }
-
- public function getSecurityIdentityRetrievalTests()
- {
- return array(
- array($this->getAccount('johannes', 'FooUser'), array('ROLE_USER', 'ROLE_SUPERADMIN'), 'fullFledged', array(
- new UserSecurityIdentity('johannes', 'FooUser'),
- new RoleSecurityIdentity('ROLE_USER'),
- new RoleSecurityIdentity('ROLE_SUPERADMIN'),
- new RoleSecurityIdentity('IS_AUTHENTICATED_FULLY'),
- new RoleSecurityIdentity('IS_AUTHENTICATED_REMEMBERED'),
- new RoleSecurityIdentity('IS_AUTHENTICATED_ANONYMOUSLY'),
- )),
- array('johannes', array('ROLE_FOO'), 'fullFledged', array(
- new UserSecurityIdentity('johannes', 'MyCustomTokenImpl'),
- new RoleSecurityIdentity('ROLE_FOO'),
- new RoleSecurityIdentity('IS_AUTHENTICATED_FULLY'),
- new RoleSecurityIdentity('IS_AUTHENTICATED_REMEMBERED'),
- new RoleSecurityIdentity('IS_AUTHENTICATED_ANONYMOUSLY'),
- )),
- array(new CustomUserImpl('johannes'), array('ROLE_FOO'), 'fullFledged', array(
- new UserSecurityIdentity('johannes', 'Symfony\Component\Security\Acl\Tests\Domain\CustomUserImpl'),
- new RoleSecurityIdentity('ROLE_FOO'),
- new RoleSecurityIdentity('IS_AUTHENTICATED_FULLY'),
- new RoleSecurityIdentity('IS_AUTHENTICATED_REMEMBERED'),
- new RoleSecurityIdentity('IS_AUTHENTICATED_ANONYMOUSLY'),
- )),
- array($this->getAccount('foo', 'FooBarUser'), array('ROLE_FOO'), 'rememberMe', array(
- new UserSecurityIdentity('foo', 'FooBarUser'),
- new RoleSecurityIdentity('ROLE_FOO'),
- new RoleSecurityIdentity('IS_AUTHENTICATED_REMEMBERED'),
- new RoleSecurityIdentity('IS_AUTHENTICATED_ANONYMOUSLY'),
- )),
- array('guest', array('ROLE_FOO'), 'anonymous', array(
- new RoleSecurityIdentity('ROLE_FOO'),
- new RoleSecurityIdentity('IS_AUTHENTICATED_ANONYMOUSLY'),
- )),
- );
- }
-
- protected function getAccount($username, $class)
- {
- $account = $this->getMock('Symfony\Component\Security\Core\User\UserInterface', array(), array(), $class);
- $account
- ->expects($this->any())
- ->method('getUsername')
- ->will($this->returnValue($username))
- ;
-
- return $account;
- }
-
- protected function getStrategy(array $roles = array(), $authenticationStatus = 'fullFledged')
- {
- $roleHierarchy = $this->getMock('Symfony\Component\Security\Core\Role\RoleHierarchyInterface');
- $roleHierarchy
- ->expects($this->once())
- ->method('getReachableRoles')
- ->with($this->equalTo(array('foo')))
- ->will($this->returnValue($roles))
- ;
-
- $trustResolver = $this->getMock('Symfony\Component\Security\Core\Authentication\AuthenticationTrustResolver', array(), array('', ''));
-
- $trustResolver
- ->expects($this->at(0))
- ->method('isAnonymous')
- ->will($this->returnValue('anonymous' === $authenticationStatus))
- ;
-
- if ('fullFledged' === $authenticationStatus) {
- $trustResolver
- ->expects($this->once())
- ->method('isFullFledged')
- ->will($this->returnValue(true))
- ;
- $trustResolver
- ->expects($this->never())
- ->method('isRememberMe')
- ;
- } elseif ('rememberMe' === $authenticationStatus) {
- $trustResolver
- ->expects($this->once())
- ->method('isFullFledged')
- ->will($this->returnValue(false))
- ;
- $trustResolver
- ->expects($this->once())
- ->method('isRememberMe')
- ->will($this->returnValue(true))
- ;
- } else {
- $trustResolver
- ->expects($this->at(1))
- ->method('isAnonymous')
- ->will($this->returnValue(true))
- ;
- $trustResolver
- ->expects($this->once())
- ->method('isFullFledged')
- ->will($this->returnValue(false))
- ;
- $trustResolver
- ->expects($this->once())
- ->method('isRememberMe')
- ->will($this->returnValue(false))
- ;
- }
-
- return new SecurityIdentityRetrievalStrategy($roleHierarchy, $trustResolver);
- }
-}
-
-class CustomUserImpl
-{
- protected $name;
-
- public function __construct($name)
- {
- $this->name = $name;
- }
-
- public function __toString()
- {
- return $this->name;
- }
-}