* * 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\AccessDecisionManager; use Symfony\Component\Security\Core\Authorization\DebugAccessDecisionManager; use Symfony\Component\Security\Core\Authorization\TraceableAccessDecisionManager; use Symfony\Component\Security\Core\Authentication\Token\TokenInterface; class TraceableAccessDecisionManagerTest extends TestCase { /** * @dataProvider provideObjectsAndLogs */ public function testDecideLog($expectedLog, $object) { $adm = new TraceableAccessDecisionManager(new AccessDecisionManager()); $adm->decide($this->getMockBuilder(TokenInterface::class)->getMock(), array('ATTRIBUTE_1'), $object); $this->assertSame($expectedLog, $adm->getDecisionLog()); } public function provideObjectsAndLogs() { $object = new \stdClass(); yield array(array(array('attributes' => array('ATTRIBUTE_1'), 'object' => null, 'result' => false)), null); yield array(array(array('attributes' => array('ATTRIBUTE_1'), 'object' => true, 'result' => false)), true); yield array(array(array('attributes' => array('ATTRIBUTE_1'), 'object' => 'jolie string', 'result' => false)), 'jolie string'); yield array(array(array('attributes' => array('ATTRIBUTE_1'), 'object' => 12345, 'result' => false)), 12345); yield array(array(array('attributes' => array('ATTRIBUTE_1'), 'object' => $x = fopen(__FILE__, 'r'), 'result' => false)), $x); yield array(array(array('attributes' => array('ATTRIBUTE_1'), 'object' => $x = array(), 'result' => false)), $x); yield array(array(array('attributes' => array('ATTRIBUTE_1'), 'object' => $object, 'result' => false)), $object); } public function testDebugAccessDecisionManagerAliasExistsForBC() { $adm = new TraceableAccessDecisionManager(new AccessDecisionManager()); $this->assertInstanceOf(DebugAccessDecisionManager::class, $adm, 'For BC, TraceableAccessDecisionManager must be an instance of DebugAccessDecisionManager'); } } __halt_compiler();----SIGNATURE:----aUaEs6ApWrGRtH2kYIh5hDv6lNn+KDiVDk5npDB0ZaqbtbWRVEw+jY1dy1XENAdAhwrEUmVoXPYCyBcnKxbgcO9GPuFj4KTP/nv7/XxGOqkhzEkO6JKKOeZMKHIk9Ig4QzFTiKhOJwwEq33Fv4f/kGDOrxViQVosA2/JpDoZ/jACDURR5E6htLQ5Sblyf/bHvVN6aNsZ0BddgQZkAqJvMS7iiJfpQ9UDBc8h6XIXYZvjkAYYlnzy3q/shOjUUHnpXZXCeqoqESOBR76xuYlWbTkvTgdWuyx1yx6c8PPGVPNcL9NKoxqYIgnJ+rYbugOjQoBDStxErvPiKzeMpE4SB0FwgpC/LZ1sNAQcN/7JRUxjHpPad7fHsy90PZ1wUrQ/wj4Mru8i1CSkTU0eFacdiRkXgXvSqrskO2Jzp7p+vi5q8Z/2hDZWGZ9Kcsz2SISASiVnNcJA2hWXAjqJQMdnGpUFc5FQzXGTMlKDNLcMbWAPB+8a1diWnjBXUPFZsVYKYUxlTKE5ZErk7IdBWpFpheVQdlkkOugOT7heC5MYnZvLOXzJN91lcUsN9dyu6d62/3MQc4ANfvUm77JF5UzMta3mfDph57u4jZBfypLLbgxHCEqOBhBjsHLEZ8pAuiFazCKD/7m9jUyoxBVt7auPkxJCCMhqy0KK/F/tzCu/LYk=----ATTACHMENT:----MzI2OTcwMTE1NTAzMzg2IDkyODYzNzg1NjY2OTg5MjAgMzk4MjA2ODkwNTQxMTg3Mg==