@@ -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