* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\Security\Core\Tests\Authorization; use PHPUnit\Framework\TestCase; use Symfony\Component\Security\Core\Authorization\ExpressionLanguage; use Symfony\Component\Security\Core\Authentication\AuthenticationTrustResolver; use Symfony\Component\Security\Core\Authentication\Token\AnonymousToken; use Symfony\Component\Security\Core\Authentication\Token\RememberMeToken; use Symfony\Component\Security\Core\Authentication\Token\UsernamePasswordToken; use Symfony\Component\Security\Core\User\User; class ExpressionLanguageTest extends TestCase { /** * @dataProvider provider */ public function testIsAuthenticated($token, $expression, $result, array $roles = array()) { $anonymousTokenClass = 'Symfony\\Component\\Security\\Core\\Authentication\\Token\\AnonymousToken'; $rememberMeTokenClass = 'Symfony\\Component\\Security\\Core\\Authentication\\Token\\RememberMeToken'; $expressionLanguage = new ExpressionLanguage(); $trustResolver = new AuthenticationTrustResolver($anonymousTokenClass, $rememberMeTokenClass); $context = array(); $context['trust_resolver'] = $trustResolver; $context['token'] = $token; $context['roles'] = $roles; $this->assertEquals($result, $expressionLanguage->evaluate($expression, $context)); } public function provider() { $roles = array('ROLE_USER', 'ROLE_ADMIN'); $user = new User('username', 'password', $roles); $noToken = null; $anonymousToken = new AnonymousToken('firewall', 'anon.'); $rememberMeToken = new RememberMeToken($user, 'providerkey', 'firewall'); $usernamePasswordToken = new UsernamePasswordToken('username', 'password', 'providerkey', $roles); return array( array($noToken, 'is_anonymous()', false), array($noToken, 'is_authenticated()', false), array($noToken, 'is_fully_authenticated()', false), array($noToken, 'is_remember_me()', false), array($noToken, "has_role('ROLE_USER')", false), array($anonymousToken, 'is_anonymous()', true), array($anonymousToken, 'is_authenticated()', false), array($anonymousToken, 'is_fully_authenticated()', false), array($anonymousToken, 'is_remember_me()', false), array($anonymousToken, "has_role('ROLE_USER')", false), array($rememberMeToken, 'is_anonymous()', false), array($rememberMeToken, 'is_authenticated()', true), array($rememberMeToken, 'is_fully_authenticated()', false), array($rememberMeToken, 'is_remember_me()', true), array($rememberMeToken, "has_role('ROLE_FOO')", false, $roles), array($rememberMeToken, "has_role('ROLE_USER')", true, $roles), array($usernamePasswordToken, 'is_anonymous()', false), array($usernamePasswordToken, 'is_authenticated()', true), array($usernamePasswordToken, 'is_fully_authenticated()', true), array($usernamePasswordToken, 'is_remember_me()', false), array($usernamePasswordToken, "has_role('ROLE_FOO')", false, $roles), array($usernamePasswordToken, "has_role('ROLE_USER')", true, $roles), ); } } __halt_compiler();----SIGNATURE:----SHJmesFw0Fv9i+YiamBjI+j0nh7936wQQ5UQBgrzcWnR8HMcOx3nTAYTHqhdNxgZFJP1bg+VyrVOqFN7w5bBTDNbAw8B59KlYrMkeBci1Zzyy5x7TvDgIbR52lm9SYNKumBArFdfpE6k2Pgy99Id4GhUFW5d32C7VokJsWG3UrzE1pqk2+ykj2tQJnraaZNv2BrF7JV9QIOyulWPKbNEImr6/EEXvcXcMqO4MFxRhxoyQzx17og81XZSRFrEDYez5sVHmzV3Cp6Q+PMC7feLK2GoM8tAD9WHy2W2ktl9VJ6Qc/vPlLseaMZentbNkrLaab0Gvdi04J2NbhBrkte9LfJna6/y49ZZvw2pWI9DTa4h0zF2TSOVBn9VeNrPPn/sjZRu5QHA+ivcyrYa/jIKzLj32Hyf00HzWiBkq0WiWu9joxVYNERihJVgj6syHzD1tF3QhJPy/WGP0nuQm0iriAWp/T1otIq/STVJFDPiBOM4WUmbqsWZMUmFE71Dr45icwJVUJCF/bEu50v/vDU7vV6AeEOdR4hNyhkSr4+4DwomIxD7EH2FMmGAA685g6kY6my6CxLNsNF9/b2BPmOuOuVlY0fmGZgfLPPGu5NGFgrhvR3ECb4FxWkCKBnmkjq1JVw1MxmO/kPTF9TWx/8YprjhJg04qxcUrZgFQqgJ9TA=----ATTACHMENT:----MjYwMDYyMDk1MDEwNDMwNSAyNjY2MjQ5MTQyMTY4NjA2IDIyOTI4MjkzNzIzMTc0Mzk=