* * 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\Voter; use PHPUnit\Framework\TestCase; use Symfony\Component\Security\Core\Authentication\AuthenticationTrustResolver; use Symfony\Component\Security\Core\Authorization\Voter\AuthenticatedVoter; use Symfony\Component\Security\Core\Authorization\Voter\VoterInterface; class AuthenticatedVoterTest extends TestCase { /** * @dataProvider getVoteTests */ public function testVote($authenticated, $attributes, $expected) { $voter = new AuthenticatedVoter($this->getResolver()); $this->assertSame($expected, $voter->vote($this->getToken($authenticated), null, $attributes)); } public function getVoteTests() { return array( array('fully', array(), VoterInterface::ACCESS_ABSTAIN), array('fully', array('FOO'), VoterInterface::ACCESS_ABSTAIN), array('remembered', array(), VoterInterface::ACCESS_ABSTAIN), array('remembered', array('FOO'), VoterInterface::ACCESS_ABSTAIN), array('anonymously', array(), VoterInterface::ACCESS_ABSTAIN), array('anonymously', array('FOO'), VoterInterface::ACCESS_ABSTAIN), array('fully', array('IS_AUTHENTICATED_ANONYMOUSLY'), VoterInterface::ACCESS_GRANTED), array('remembered', array('IS_AUTHENTICATED_ANONYMOUSLY'), VoterInterface::ACCESS_GRANTED), array('anonymously', array('IS_AUTHENTICATED_ANONYMOUSLY'), VoterInterface::ACCESS_GRANTED), array('fully', array('IS_AUTHENTICATED_REMEMBERED'), VoterInterface::ACCESS_GRANTED), array('remembered', array('IS_AUTHENTICATED_REMEMBERED'), VoterInterface::ACCESS_GRANTED), array('anonymously', array('IS_AUTHENTICATED_REMEMBERED'), VoterInterface::ACCESS_DENIED), array('fully', array('IS_AUTHENTICATED_FULLY'), VoterInterface::ACCESS_GRANTED), array('remembered', array('IS_AUTHENTICATED_FULLY'), VoterInterface::ACCESS_DENIED), array('anonymously', array('IS_AUTHENTICATED_FULLY'), VoterInterface::ACCESS_DENIED), ); } protected function getResolver() { return new AuthenticationTrustResolver( 'Symfony\\Component\\Security\\Core\\Authentication\\Token\\AnonymousToken', 'Symfony\\Component\\Security\\Core\\Authentication\\Token\\RememberMeToken' ); } protected function getToken($authenticated) { if ('fully' === $authenticated) { return $this->getMockBuilder('Symfony\Component\Security\Core\Authentication\Token\TokenInterface')->getMock(); } elseif ('remembered' === $authenticated) { return $this->getMockBuilder('Symfony\Component\Security\Core\Authentication\Token\RememberMeToken')->setMethods(array('setPersistent'))->disableOriginalConstructor()->getMock(); } else { return $this->getMockBuilder('Symfony\Component\Security\Core\Authentication\Token\AnonymousToken')->setConstructorArgs(array('', ''))->getMock(); } } } __halt_compiler();----SIGNATURE:----tKSmhFzzVt2TNLNpnBfWbiv7DlPLDjtn12pv54vKxo8UvRo9atlimJlS1qfBtdA9S6r2jxXOUCZMTM+VaU4NgX4jSGTGgZY0yFKkZRdfoEkL7ggsdeGXOtn1XH982mZMWDMwWOak4uqhO6g6XWGGNZFUcwm+peLoctP1XTY3MgeMxZCv4qNLJCF/YRypg4pPqaxaAFBgroPxEPpiNeLPuLhGtBp+Y5SKvIgMXiNgnQvP/03FhTZlykq7JAInjjhmTjILvmo8dwdNxbiXOZXP7jPz0xToLHZCzQ0rTWvSdj4GhmkMvUKIMZuu/lBVJ6nZVgZjVJFrCiqzNtT15c4SPk5CuFVr37j39JwEYdKMb7qbMPBCMED6QoIn+InhYew9tNSW4baJyQiE/+zmHU9z196QwVzJgg0CqEaCXDEM1q0fYbGGEze4LeD10JUg6Yltg9mebczs5kw7uCTjuxkwigZXCc8Ek2/bUdFeJTi1SNXipScO7CrU0+0TyKQf2dn8haZ/VFEIk38MAhNk0AXrOR6C1xTh6nu1CL3btWaup5csdAybZuHm7kQAoG2OrjmxnbVlOgrEI2U02PhnD+sxwPnggqtpxJ0vDLTVrYEO+BHY2Eo+jVeIlR1Rncwt75bG26pwbLvTA/UmE8x6XuePPFDM5g1/V1l+GLDjM4TBnr8=----ATTACHMENT:----NjUwMjg3NzY4MjEwNzAxMiAzMTI2MTUxMTIwMDExNzY2IDU1MjA1MzkxMDA1Nzc5Nzc=