예제 #1
0
 /** @dataProvider provideRoles */
 public function testCollectAuthenticationTokenAndRoles(array $roles, array $normalizedRoles, array $inheritedRoles)
 {
     $tokenStorage = new TokenStorage();
     $tokenStorage->setToken(new UsernamePasswordToken('hhamon', 'P4$$w0rD', 'provider', $roles));
     $collector = new SecurityDataCollector($tokenStorage, $this->getRoleHierarchy());
     $collector->collect($this->getRequest(), $this->getResponse());
     $this->assertTrue($collector->isEnabled());
     $this->assertTrue($collector->isAuthenticated());
     $this->assertSame('Symfony\\Component\\Security\\Core\\Authentication\\Token\\UsernamePasswordToken', $collector->getTokenClass());
     $this->assertTrue($collector->supportsRoleHierarchy());
     $this->assertSame($normalizedRoles, $collector->getRoles()->getRawData()[1]);
     if ($inheritedRoles) {
         $this->assertSame($inheritedRoles, $collector->getInheritedRoles()->getRawData()[1]);
     } else {
         $this->assertSame($inheritedRoles, $collector->getInheritedRoles()->getRawData()[0][0]);
     }
     $this->assertSame('hhamon', $collector->getUser());
 }