Skip to content

Commit 45511ee

Browse files
committed
Fixed tests
1 parent 97b44ea commit 45511ee

35 files changed

+266
-105
lines changed

src/Symfony/Bridge/Monolog/Tests/Processor/SwitchUserTokenProcessorTest.php

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616
use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface;
1717
use Symfony\Component\Security\Core\Authentication\Token\SwitchUserToken;
1818
use Symfony\Component\Security\Core\Authentication\Token\UsernamePasswordToken;
19+
use Symfony\Component\Security\Core\User\InMemoryUser;
20+
use Symfony\Component\Security\Core\User\User;
1921

2022
/**
2123
* Tests the SwitchUserTokenProcessor.
@@ -26,8 +28,13 @@ class SwitchUserTokenProcessorTest extends TestCase
2628
{
2729
public function testProcessor()
2830
{
29-
$originalToken = new UsernamePasswordToken('original_user', 'password', 'provider', ['ROLE_SUPER_ADMIN']);
30-
$switchUserToken = new SwitchUserToken('user', 'passsword', 'provider', ['ROLE_USER'], $originalToken);
31+
if (class_exists(InMemoryUser::class)) {
32+
$originalToken = new UsernamePasswordToken(new InMemoryUser('original_user', 'password', ['ROLE_SUPER_ADMIN']), 'provider', ['ROLE_SUPER_ADMIN']);
33+
$switchUserToken = new SwitchUserToken(new InMemoryUser('user', 'passsword', ['ROLE_USER']), 'provider', ['ROLE_USER'], $originalToken);
34+
} else {
35+
$originalToken = new UsernamePasswordToken(new User('original_user', 'password', ['ROLE_SUPER_ADMIN']), null, 'provider', ['ROLE_SUPER_ADMIN']);
36+
$switchUserToken = new SwitchUserToken(new InMemoryUser('user', 'passsword', ['ROLE_USER']), null, 'provider', ['ROLE_USER'], $originalToken);
37+
}
3138
$tokenStorage = $this->createMock(TokenStorageInterface::class);
3239
$tokenStorage->method('getToken')->willReturn($switchUserToken);
3340

src/Symfony/Bridge/Monolog/Tests/Processor/TokenProcessorTest.php

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
use Symfony\Bridge\Monolog\Processor\TokenProcessor;
1616
use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface;
1717
use Symfony\Component\Security\Core\Authentication\Token\UsernamePasswordToken;
18+
use Symfony\Component\Security\Core\User\InMemoryUser;
1819

1920
/**
2021
* Tests the TokenProcessor.
@@ -23,6 +24,9 @@
2324
*/
2425
class TokenProcessorTest extends TestCase
2526
{
27+
/**
28+
* @group legacy
29+
*/
2630
public function testLegacyProcessor()
2731
{
2832
if (method_exists(UsernamePasswordToken::class, 'getUserIdentifier')) {
@@ -48,7 +52,7 @@ public function testProcessor()
4852
$this->markTestSkipped('This test requires symfony/security-core 5.3+');
4953
}
5054

51-
$token = new UsernamePasswordToken('user', 'password', 'provider', ['ROLE_USER']);
55+
$token = new UsernamePasswordToken(new InMemoryUser('user', 'password', ['ROLE_USER']), 'provider', ['ROLE_USER']);
5256
$tokenStorage = $this->createMock(TokenStorageInterface::class);
5357
$tokenStorage->method('getToken')->willReturn($token);
5458

src/Symfony/Bundle/FrameworkBundle/Tests/Controller/AbstractControllerTest.php

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,14 +138,17 @@ public function testForward()
138138
public function testGetUser()
139139
{
140140
$user = new InMemoryUser('user', 'pass');
141-
$token = new UsernamePasswordToken($user, 'pass', 'default', ['ROLE_USER']);
141+
$token = new UsernamePasswordToken($user, 'default', ['ROLE_USER']);
142142

143143
$controller = $this->createController();
144144
$controller->setContainer($this->getContainerWithTokenStorage($token));
145145

146146
$this->assertSame($controller->getUser(), $user);
147147
}
148148

149+
/**
150+
* @group legacy
151+
*/
149152
public function testGetUserAnonymousUserConvertedToNull()
150153
{
151154
$token = new AnonymousToken('default', 'anon.');

src/Symfony/Bundle/FrameworkBundle/composer.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@
5353
"symfony/notifier": "^5.3|^6.0",
5454
"symfony/process": "^4.4|^5.0|^6.0",
5555
"symfony/rate-limiter": "^5.2|^6.0",
56-
"symfony/security-bundle": "^5.3|^6.0",
56+
"symfony/security-bundle": "^5.4|^6.0",
5757
"symfony/serializer": "^5.4|^6.0",
5858
"symfony/stopwatch": "^4.4|^5.0|^6.0",
5959
"symfony/string": "^5.0|^6.0",
@@ -89,7 +89,6 @@
8989
"symfony/property-access": "<5.3",
9090
"symfony/serializer": "<5.2",
9191
"symfony/security-csrf": "<5.3",
92-
"symfony/security-core": "<5.3",
9392
"symfony/stopwatch": "<4.4",
9493
"symfony/translation": "<5.3",
9594
"symfony/twig-bridge": "<4.4",

src/Symfony/Bundle/SecurityBundle/Tests/DataCollector/SecurityDataCollectorTest.php

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
use Symfony\Component\Security\Core\Authorization\Voter\TraceableVoter;
3030
use Symfony\Component\Security\Core\Authorization\Voter\VoterInterface;
3131
use Symfony\Component\Security\Core\Role\RoleHierarchy;
32+
use Symfony\Component\Security\Core\User\InMemoryUser;
3233
use Symfony\Component\Security\Http\FirewallMapInterface;
3334
use Symfony\Component\Security\Http\Logout\LogoutUrlGenerator;
3435
use Symfony\Contracts\EventDispatcher\EventDispatcherInterface;
@@ -78,7 +79,7 @@ public function testCollectWhenAuthenticationTokenIsNull()
7879
public function testCollectAuthenticationTokenAndRoles(array $roles, array $normalizedRoles, array $inheritedRoles)
7980
{
8081
$tokenStorage = new TokenStorage();
81-
$tokenStorage->setToken(new UsernamePasswordToken('hhamon', 'P4$$w0rD', 'provider', $roles));
82+
$tokenStorage->setToken(new UsernamePasswordToken(new InMemoryUser('hhamon', 'P4$$w0rD', $roles), 'provider', $roles));
8283

8384
$collector = new SecurityDataCollector($tokenStorage, $this->getRoleHierarchy(), null, null, null, null, true);
8485
$collector->collect(new Request(), new Response());
@@ -99,10 +100,10 @@ public function testCollectAuthenticationTokenAndRoles(array $roles, array $norm
99100

100101
public function testCollectSwitchUserToken()
101102
{
102-
$adminToken = new UsernamePasswordToken('yceruto', 'P4$$w0rD', 'provider', ['ROLE_ADMIN']);
103+
$adminToken = new UsernamePasswordToken(new InMemoryUser('yceruto', 'P4$$w0rD', ['ROLE_ADMIN']), 'provider', ['ROLE_ADMIN']);
103104

104105
$tokenStorage = new TokenStorage();
105-
$tokenStorage->setToken(new SwitchUserToken('hhamon', 'P4$$w0rD', 'provider', ['ROLE_USER', 'ROLE_PREVIOUS_ADMIN'], $adminToken));
106+
$tokenStorage->setToken(new SwitchUserToken(new InMemoryUser('hhamon', 'P4$$w0rD', ['ROLE_USER', 'ROLE_PREVIOUS_ADMIN']), 'provider', ['ROLE_USER', 'ROLE_PREVIOUS_ADMIN'], $adminToken));
106107

107108
$collector = new SecurityDataCollector($tokenStorage, $this->getRoleHierarchy(), null, null, null, null, true);
108109
$collector->collect(new Request(), new Response());

src/Symfony/Bundle/SecurityBundle/Tests/Functional/MissingUserProviderTest.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,9 @@ public function testUserProviderIsNeeded()
2828
]);
2929
}
3030

31+
/**
32+
* @group legacy
33+
*/
3134
public function testLegacyUserProviderIsNeeded()
3235
{
3336
$client = $this->createClient(['test_case' => 'MissingUserProvider', 'root_config' => 'config.yml', 'debug' => true]);

src/Symfony/Bundle/SecurityBundle/Tests/Functional/SecurityTest.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ public function testServiceIsFunctional()
2727

2828
// put a token into the storage so the final calls can function
2929
$user = new InMemoryUser('foo', 'pass');
30-
$token = new UsernamePasswordToken($user, '', 'provider', ['ROLE_USER']);
30+
$token = new UsernamePasswordToken($user, 'provider', ['ROLE_USER']);
3131
$container->get('functional.test.security.token_storage')->setToken($token);
3232

3333
$security = $container->get('functional_test.security.helper');
@@ -105,7 +105,7 @@ public function testLegacyServiceIsFunctional()
105105

106106
// put a token into the storage so the final calls can function
107107
$user = new InMemoryUser('foo', 'pass');
108-
$token = new UsernamePasswordToken($user, '', 'provider', ['ROLE_USER']);
108+
$token = new UsernamePasswordToken($user, 'provider', ['ROLE_USER']);
109109
$container->get('functional.test.security.token_storage')->setToken($token);
110110

111111
$security = $container->get('functional_test.security.helper');

src/Symfony/Component/Security/Core/Authentication/Token/AnonymousToken.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@ class AnonymousToken extends AbstractToken
3131
*/
3232
public function __construct(string $secret, $user, array $roles = [])
3333
{
34+
trigger_deprecation('symfony/security-core', '5.4', 'The "%s" class is deprecated.', __CLASS__);
35+
3436
parent::__construct($roles);
3537

3638
$this->secret = $secret;

src/Symfony/Component/Security/Core/Tests/Authentication/AuthenticationTrustResolverTest.php

Lines changed: 25 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,6 @@ public function testIsAnonymous()
2626
$this->assertFalse($resolver->isAnonymous($this->getToken()));
2727
$this->assertFalse($resolver->isAnonymous($this->getRememberMeToken()));
2828
$this->assertFalse($resolver->isAnonymous(new FakeCustomToken()));
29-
$this->assertTrue($resolver->isAnonymous(new RealCustomAnonymousToken()));
30-
$this->assertTrue($resolver->isAnonymous($this->getAnonymousToken()));
3129
}
3230

3331
public function testIsRememberMe()
@@ -36,7 +34,6 @@ public function testIsRememberMe()
3634

3735
$this->assertFalse($resolver->isRememberMe(null));
3836
$this->assertFalse($resolver->isRememberMe($this->getToken()));
39-
$this->assertFalse($resolver->isRememberMe($this->getAnonymousToken()));
4037
$this->assertFalse($resolver->isRememberMe(new FakeCustomToken()));
4138
$this->assertTrue($resolver->isRememberMe(new RealCustomRememberMeToken()));
4239
$this->assertTrue($resolver->isRememberMe($this->getRememberMeToken()));
@@ -47,9 +44,7 @@ public function testisFullFledged()
4744
$resolver = new AuthenticationTrustResolver();
4845

4946
$this->assertFalse($resolver->isFullFledged(null));
50-
$this->assertFalse($resolver->isFullFledged($this->getAnonymousToken()));
5147
$this->assertFalse($resolver->isFullFledged($this->getRememberMeToken()));
52-
$this->assertFalse($resolver->isFullFledged(new RealCustomAnonymousToken()));
5348
$this->assertFalse($resolver->isFullFledged(new RealCustomRememberMeToken()));
5449
$this->assertTrue($resolver->isFullFledged($this->getToken()));
5550
$this->assertTrue($resolver->isFullFledged(new FakeCustomToken()));
@@ -62,8 +57,6 @@ public function testIsAnonymousWithClassAsConstructorButStillExtending()
6257
$this->assertFalse($resolver->isAnonymous(null));
6358
$this->assertFalse($resolver->isAnonymous($this->getToken()));
6459
$this->assertFalse($resolver->isAnonymous($this->getRememberMeToken()));
65-
$this->assertTrue($resolver->isAnonymous($this->getAnonymousToken()));
66-
$this->assertTrue($resolver->isAnonymous(new RealCustomAnonymousToken()));
6760
}
6861

6962
public function testIsRememberMeWithClassAsConstructorButStillExtending()
@@ -72,7 +65,6 @@ public function testIsRememberMeWithClassAsConstructorButStillExtending()
7265

7366
$this->assertFalse($resolver->isRememberMe(null));
7467
$this->assertFalse($resolver->isRememberMe($this->getToken()));
75-
$this->assertFalse($resolver->isRememberMe($this->getAnonymousToken()));
7668
$this->assertTrue($resolver->isRememberMe($this->getRememberMeToken()));
7769
$this->assertTrue($resolver->isRememberMe(new RealCustomRememberMeToken()));
7870
}
@@ -82,13 +74,27 @@ public function testisFullFledgedWithClassAsConstructorButStillExtending()
8274
$resolver = $this->getResolver();
8375

8476
$this->assertFalse($resolver->isFullFledged(null));
85-
$this->assertFalse($resolver->isFullFledged($this->getAnonymousToken()));
8677
$this->assertFalse($resolver->isFullFledged($this->getRememberMeToken()));
87-
$this->assertFalse($resolver->isFullFledged(new RealCustomAnonymousToken()));
8878
$this->assertFalse($resolver->isFullFledged(new RealCustomRememberMeToken()));
8979
$this->assertTrue($resolver->isFullFledged($this->getToken()));
9080
}
9181

82+
/**
83+
* @group legacy
84+
*/
85+
public function testLegacy()
86+
{
87+
$resolver = $this->getResolver();
88+
89+
$this->assertTrue($resolver->isAnonymous($this->getAnonymousToken()));
90+
$this->assertTrue($resolver->isAnonymous($this->getRealCustomAnonymousToken()));
91+
92+
$this->assertFalse($resolver->isRememberMe($this->getAnonymousToken()));
93+
94+
$this->assertFalse($resolver->isFullFledged($this->getAnonymousToken()));
95+
$this->assertFalse($resolver->isFullFledged($this->getRealCustomAnonymousToken()));
96+
}
97+
9298
protected function getToken()
9399
{
94100
return $this->createMock(TokenInterface::class);
@@ -99,6 +105,15 @@ protected function getAnonymousToken()
99105
return $this->getMockBuilder(AnonymousToken::class)->setConstructorArgs(['', ''])->getMock();
100106
}
101107

108+
private function getRealCustomAnonymousToken()
109+
{
110+
return new class() extends AnonymousToken {
111+
public function __construct()
112+
{
113+
}
114+
};
115+
}
116+
102117
protected function getRememberMeToken()
103118
{
104119
return $this->getMockBuilder(RememberMeToken::class)->setMethods(['setPersistent'])->disableOriginalConstructor()->getMock();
@@ -192,13 +207,6 @@ public function setAttribute(string $name, $value)
192207
}
193208
}
194209

195-
class RealCustomAnonymousToken extends AnonymousToken
196-
{
197-
public function __construct()
198-
{
199-
}
200-
}
201-
202210
class RealCustomRememberMeToken extends RememberMeToken
203211
{
204212
public function __construct()

src/Symfony/Component/Security/Core/Tests/Authentication/Token/AbstractTokenTest.php

Lines changed: 30 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -63,18 +63,38 @@ public function eraseCredentials()
6363
$this->assertEquals('fabien', $token->getUserIdentifier());
6464
}
6565

66-
public function testGetUserIdentifier()
66+
/**
67+
* @dataProvider provideUsers
68+
*/
69+
public function testGetUserIdentifier($user, string $username)
6770
{
6871
$token = new ConcreteToken(['ROLE_FOO']);
69-
$token->setUser('fabien');
70-
$this->assertEquals('fabien', $token->getUserIdentifier());
72+
$token->setUser($user);
73+
$this->assertEquals($username, $token->getUserIdentifier());
74+
}
7175

72-
$token->setUser(new TestUser('fabien'));
73-
$this->assertEquals('fabien', $token->getUserIdentifier());
76+
public function provideUsers()
77+
{
78+
yield [new InMemoryUser('fabien', null), 'fabien'];
79+
}
7480

75-
$user = new InMemoryUser('fabien', null);
81+
/**
82+
* @dataProvider provideLegacyUsers
83+
* @group legacy
84+
*/
85+
public function testLegacyGetUserIdentifier($user, string $username)
86+
{
87+
$token = new ConcreteToken(['ROLE_FOO']);
7688
$token->setUser($user);
77-
$this->assertEquals('fabien', $token->getUserIdentifier());
89+
$this->assertEquals($username, $token->getUserIdentifier());
90+
}
91+
92+
public function provideLegacyUsers()
93+
{
94+
return [
95+
[new TestUser('fabien'), 'fabien'],
96+
['fabien', 'fabien'],
97+
];
7898
}
7999

80100
public function testEraseCredentials()
@@ -143,7 +163,7 @@ public function testAttributes()
143163
}
144164

145165
/**
146-
* @dataProvider getUsers
166+
* @dataProvider provideUsers
147167
*/
148168
public function testSetUser($user)
149169
{
@@ -152,15 +172,6 @@ public function testSetUser($user)
152172
$this->assertSame($user, $token->getUser());
153173
}
154174

155-
public function getUsers()
156-
{
157-
return [
158-
[new InMemoryUser('foo', null)],
159-
[new TestUser('foo')],
160-
['foo'],
161-
];
162-
}
163-
164175
/**
165176
* @group legacy
166177
* @dataProvider getUserChanges
@@ -196,7 +207,8 @@ public function getUserChanges()
196207

197208
/**
198209
* @group legacy
199-
* @dataProvider getUsers
210+
* @dataProvider provideUsers
211+
* @dataProvider provideLegacyUsers
200212
*/
201213
public function testSetUserDoesNotSetAuthenticatedToFalseWhenUserDoesNotChange($user)
202214
{

0 commit comments

Comments
 (0)