* * 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:----B/gZUJ/uQl5oKsohUCYI/K7ZDJ2h+BZ6zmFuD4kMBjOGHEvJ0XBRMB5dSbpZVniHg7cFUE//Uur5SMAr7yThnId+zkqQWhEpoWvoN3IBqeSohUTNIKD/FycvfI0qaZNWPr3DStyunmVHW2h1/NZ6rOJeEFwnhw9e7gbgYygN9MjcADdpnqs1luUa7gZlF/dwk+I+ETpcddhRRZWFuiNTjaJgpZsoCmYlsCRiJpSh9ZdVAwl9Gysv4fc6x7sgcGmD8QwTnhlj16axwSijnawgrZwFJRwpxo9s8EnQl+DlYuYTqxC2dtzQbfRvrKGICtgiLdb19x8h/1Nw5nMG2UHg9A/kmbqXjt7bdVWe1ZBfLPFFos9At1ezJiR0aW6ThcZoBPeLxfwuPS6T3RGbwsAS/lJQXnkpty9K0zpudoy7Onjvnw3PRjzB7CnHeTLacxORwGKdoJEAIupilAi/s9Ku/vyg5ADHHAZlSXU6p3QgKWutrwfubAThi1Lny8vt0y/dTxCS7iHTkka04geJeP4oUz0FplR38Ce96ZpBXRXDaQYZGwW3sGaK+q2vbExqHfedgv+J/95z14nWyZGQOLOSHRvCEVwGUMU1eEgI0yZXbx+IKZdEtmhPXDtkfzTn2PrEw0RWwKEg0Bb8fqzoXNQJAj1bXbNIRzHks7jap69a/+8=----ATTACHMENT:----OTg5MTYwMTAzMzk1Nzg2NyA3MjYwNzQxMjQ4MjMyNzM5IDY0NjM1MDQxNzgwNjQ5MTU=