From e044b179d0d118348f5741c47ccf02661d16748b Mon Sep 17 00:00:00 2001 From: Wouter de Jong Date: Thu, 2 Dec 2021 18:38:19 +0100 Subject: [PATCH] Fix compatibility with symfony/security-core 6.x --- src/Symfony/Bundle/FrameworkBundle/KernelBrowser.php | 5 ++++- .../Tests/Controller/AbstractControllerTest.php | 12 +++++++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/Symfony/Bundle/FrameworkBundle/KernelBrowser.php b/src/Symfony/Bundle/FrameworkBundle/KernelBrowser.php index 7d4475a7e21ca..c5bad9c4e5185 100644 --- a/src/Symfony/Bundle/FrameworkBundle/KernelBrowser.php +++ b/src/Symfony/Bundle/FrameworkBundle/KernelBrowser.php @@ -123,7 +123,10 @@ public function loginUser(object $user, string $firewallContext = 'main'): self } $token = new TestBrowserToken($user->getRoles(), $user, $firewallContext); - $token->setAuthenticated(true); + // @deprecated since Symfony 5.4 + if (method_exists($token, 'setAuthenticated')) { + $token->setAuthenticated(true); + } $container = $this->getContainer(); $container->get('security.untracked_token_storage')->setToken($token); diff --git a/src/Symfony/Bundle/FrameworkBundle/Tests/Controller/AbstractControllerTest.php b/src/Symfony/Bundle/FrameworkBundle/Tests/Controller/AbstractControllerTest.php index c6353acdb75c7..c24738545d343 100644 --- a/src/Symfony/Bundle/FrameworkBundle/Tests/Controller/AbstractControllerTest.php +++ b/src/Symfony/Bundle/FrameworkBundle/Tests/Controller/AbstractControllerTest.php @@ -138,7 +138,12 @@ public function testForward() public function testGetUser() { $user = new InMemoryUser('user', 'pass'); - $token = new UsernamePasswordToken($user, 'pass', 'default', ['ROLE_USER']); + if (method_exists(UsernamePasswordToken::class, 'setAuthenticated')) { + // @deprecated since Symfony 5.4 + $token = new UsernamePasswordToken($user, 'pass', 'default', ['ROLE_USER']); + } else { + $token = new UsernamePasswordToken($user, 'default', ['ROLE_USER']); + } $controller = $this->createController(); $controller->setContainer($this->getContainerWithTokenStorage($token)); @@ -148,6 +153,11 @@ public function testGetUser() public function testGetUserAnonymousUserConvertedToNull() { + // @deprecated since Symfony 5.4 + if (!class_exists(AnonymousToken::class)) { + $this->markTestSkipped('This test requires "symfony/security-core" <6.0.'); + } + $token = new AnonymousToken('default', 'anon.'); $controller = $this->createController();