Skip to content

Commit 01350f0

Browse files
committed
Rearrange test cases to make clearer which Symfony versions they belong to
1 parent eb454a8 commit 01350f0

File tree

1 file changed

+62
-51
lines changed

1 file changed

+62
-51
lines changed

tests/EventListener/RequestListenerTest.php

Lines changed: 62 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,6 @@ protected function setUp(): void
5454
* @dataProvider handleKernelRequestEventDataProvider
5555
* @dataProvider handleKernelRequestEventForSymfonyVersionLowerThan54DataProvider
5656
* @dataProvider handleKernelRequestEventForSymfonyVersionGreaterThan54DataProvider
57-
* @dataProvider handleKernelRequestEventForSymfonyVersionLowerThan60DataProvider
5857
*/
5958
public function testHandleKernelRequestEvent(RequestEvent $requestEvent, ?ClientInterface $client, ?TokenInterface $token, ?UserDataBag $expectedUser): void
6059
{
@@ -120,6 +119,27 @@ public function handleKernelRequestEventDataProvider(): \Generator
120119
UserDataBag::createFromUserIpAddress('127.0.0.1'),
121120
];
122121

122+
yield 'request.clientIp IS NULL' => [
123+
new RequestEvent(
124+
$this->createMock(HttpKernelInterface::class),
125+
new Request(),
126+
HttpKernelInterface::MASTER_REQUEST
127+
),
128+
$this->getMockedClientWithOptions(new Options(['send_default_pii' => true])),
129+
null,
130+
new UserDataBag(),
131+
];
132+
}
133+
134+
/**
135+
* @return \Generator<mixed>
136+
*/
137+
public function handleKernelRequestEventForSymfonyVersionLowerThan54DataProvider(): \Generator
138+
{
139+
if (version_compare(Kernel::VERSION, '5.4.0', '>=')) {
140+
return;
141+
}
142+
123143
yield 'token.authenticated = FALSE' => [
124144
new RequestEvent(
125145
$this->createMock(HttpKernelInterface::class),
@@ -142,37 +162,43 @@ public function handleKernelRequestEventDataProvider(): \Generator
142162
UserDataBag::createFromUserIpAddress('127.0.0.1'),
143163
];
144164

145-
yield 'token.authenticated = TRUE && token.user INSTANCEOF UserInterface && getUserIdentifier() method EXISTS' => [
165+
yield 'token.authenticated = TRUE && token.user INSTANCEOF string' => [
146166
new RequestEvent(
147167
$this->createMock(HttpKernelInterface::class),
148168
new Request([], [], [], [], [], ['REMOTE_ADDR' => '127.0.0.1']),
149169
HttpKernelInterface::MASTER_REQUEST
150170
),
151171
$this->getMockedClientWithOptions(new Options(['send_default_pii' => true])),
152-
new AuthenticatedTokenStub(new UserWithIdentifierStub()),
172+
new AuthenticatedTokenStub('foo_user'),
153173
new UserDataBag(null, null, '127.0.0.1', 'foo_user'),
154174
];
155175

156-
yield 'request.clientIp IS NULL' => [
176+
yield 'token.authenticated = TRUE && token.user INSTANCEOF UserInterface && getUserIdentifier() method DOES NOT EXISTS' => [
157177
new RequestEvent(
158178
$this->createMock(HttpKernelInterface::class),
159-
new Request(),
179+
new Request([], [], [], [], [], ['REMOTE_ADDR' => '127.0.0.1']),
160180
HttpKernelInterface::MASTER_REQUEST
161181
),
162182
$this->getMockedClientWithOptions(new Options(['send_default_pii' => true])),
163-
null,
164-
new UserDataBag(),
183+
new AuthenticatedTokenStub(new UserWithoutIdentifierStub()),
184+
new UserDataBag(null, null, '127.0.0.1', 'foo_user'),
165185
];
166-
}
167186

168-
/**
169-
* @return \Generator<mixed>
170-
*/
171-
public function handleKernelRequestEventForSymfonyVersionLowerThan54DataProvider(): \Generator
172-
{
173-
if (version_compare(Kernel::VERSION, '5.4.0', '>=')) {
174-
return;
175-
}
187+
yield 'token.authenticated = TRUE && token.user INSTANCEOF object && __toString() method EXISTS' => [
188+
new RequestEvent(
189+
$this->createMock(HttpKernelInterface::class),
190+
new Request([], [], [], [], [], ['REMOTE_ADDR' => '127.0.0.1']),
191+
HttpKernelInterface::MASTER_REQUEST
192+
),
193+
$this->getMockedClientWithOptions(new Options(['send_default_pii' => true])),
194+
new AuthenticatedTokenStub(new class() implements \Stringable {
195+
public function __toString(): string
196+
{
197+
return 'foo_user';
198+
}
199+
}),
200+
new UserDataBag(null, null, '127.0.0.1', 'foo_user'),
201+
];
176202

177203
yield 'token.authenticated = TRUE && token INSTANCEOF SwitchUserToken' => [
178204
new RequestEvent(
@@ -205,72 +231,57 @@ public function handleKernelRequestEventForSymfonyVersionGreaterThan54DataProvid
205231
return;
206232
}
207233

208-
yield 'token.authenticated = TRUE && token INSTANCEOF SwitchUserToken' => [
234+
yield 'token.authenticated = FALSE' => [
209235
new RequestEvent(
210236
$this->createMock(HttpKernelInterface::class),
211237
new Request([], [], [], [], [], ['REMOTE_ADDR' => '127.0.0.1']),
212238
HttpKernelInterface::MASTER_REQUEST
213239
),
214240
$this->getMockedClientWithOptions(new Options(['send_default_pii' => true])),
215-
new SwitchUserToken(
216-
new UserWithIdentifierStub(),
217-
'main',
218-
['ROLE_USER'],
219-
new AuthenticatedTokenStub(new UserWithIdentifierStub('foo_user_impersonator'))
220-
),
221-
UserDataBag::createFromArray([
222-
'ip_address' => '127.0.0.1',
223-
'username' => 'foo_user',
224-
'impersonator_username' => 'foo_user_impersonator',
225-
]),
241+
new UnauthenticatedTokenStub(),
242+
UserDataBag::createFromUserIpAddress('127.0.0.1'),
226243
];
227-
}
228-
229-
/**
230-
* @return \Generator<mixed>
231-
*/
232-
public function handleKernelRequestEventForSymfonyVersionLowerThan60DataProvider(): \Generator
233-
{
234-
if (version_compare(Kernel::VERSION, '6.0.0', '>=')) {
235-
return;
236-
}
237244

238-
yield 'token.authenticated = TRUE && token.user INSTANCEOF string' => [
245+
yield 'token.authenticated = TRUE && token.user IS NULL' => [
239246
new RequestEvent(
240247
$this->createMock(HttpKernelInterface::class),
241248
new Request([], [], [], [], [], ['REMOTE_ADDR' => '127.0.0.1']),
242249
HttpKernelInterface::MASTER_REQUEST
243250
),
244251
$this->getMockedClientWithOptions(new Options(['send_default_pii' => true])),
245-
new AuthenticatedTokenStub('foo_user'),
246-
new UserDataBag(null, null, '127.0.0.1', 'foo_user'),
252+
new AuthenticatedTokenStub(null),
253+
UserDataBag::createFromUserIpAddress('127.0.0.1'),
247254
];
248255

249-
yield 'token.authenticated = TRUE && token.user INSTANCEOF UserInterface && getUserIdentifier() method DOES NOT EXISTS' => [
256+
yield 'token.authenticated = TRUE && token.user INSTANCEOF UserInterface && getUserIdentifier() method EXISTS' => [
250257
new RequestEvent(
251258
$this->createMock(HttpKernelInterface::class),
252259
new Request([], [], [], [], [], ['REMOTE_ADDR' => '127.0.0.1']),
253260
HttpKernelInterface::MASTER_REQUEST
254261
),
255262
$this->getMockedClientWithOptions(new Options(['send_default_pii' => true])),
256-
new AuthenticatedTokenStub(new UserWithoutIdentifierStub()),
263+
new AuthenticatedTokenStub(new UserWithIdentifierStub()),
257264
new UserDataBag(null, null, '127.0.0.1', 'foo_user'),
258265
];
259266

260-
yield 'token.authenticated = TRUE && token.user INSTANCEOF object && __toString() method EXISTS' => [
267+
yield 'token.authenticated = TRUE && token INSTANCEOF SwitchUserToken' => [
261268
new RequestEvent(
262269
$this->createMock(HttpKernelInterface::class),
263270
new Request([], [], [], [], [], ['REMOTE_ADDR' => '127.0.0.1']),
264271
HttpKernelInterface::MASTER_REQUEST
265272
),
266273
$this->getMockedClientWithOptions(new Options(['send_default_pii' => true])),
267-
new AuthenticatedTokenStub(new class() implements \Stringable {
268-
public function __toString(): string
269-
{
270-
return 'foo_user';
271-
}
272-
}),
273-
new UserDataBag(null, null, '127.0.0.1', 'foo_user'),
274+
new SwitchUserToken(
275+
new UserWithIdentifierStub(),
276+
'main',
277+
['ROLE_USER'],
278+
new AuthenticatedTokenStub(new UserWithIdentifierStub('foo_user_impersonator'))
279+
),
280+
UserDataBag::createFromArray([
281+
'ip_address' => '127.0.0.1',
282+
'username' => 'foo_user',
283+
'impersonator_username' => 'foo_user_impersonator',
284+
]),
274285
];
275286
}
276287

0 commit comments

Comments
 (0)