diff --git a/CHANGELOG.md b/CHANGELOG.md index 960cc984..fa5404a3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ ## Unreleased - Fix the conditions to automatically enable the cache instrumentation when possible (#487) +- Fix deprecations triggered by Symfony 5.3 (#489) ## 4.1.0 (2021-04-19) diff --git a/phpstan-baseline.neon b/phpstan-baseline.neon index 2aa559cd..13171eb5 100644 --- a/phpstan-baseline.neon +++ b/phpstan-baseline.neon @@ -180,11 +180,6 @@ parameters: count: 1 path: tests/EventListener/RequestListenerTest.php - - - message: "#^Call to method isMasterRequest\\(\\) on an unknown class Symfony\\\\Component\\\\HttpKernel\\\\Event\\\\GetResponseEvent\\.$#" - count: 1 - path: tests/EventListener/SubRequestListenerTest.php - - message: "#^Instantiated class Symfony\\\\Component\\\\HttpKernel\\\\Event\\\\GetResponseEvent not found\\.$#" count: 2 @@ -195,6 +190,11 @@ parameters: count: 1 path: tests/EventListener/SubRequestListenerTest.php + - + message: "#^Parameter \\#1 \\$event of method Sentry\\\\SentryBundle\\\\Tests\\\\EventListener\\\\SubRequestListenerTest\\:\\:isMainRequest\\(\\) expects Symfony\\\\Component\\\\HttpKernel\\\\Event\\\\KernelEvent, Symfony\\\\Component\\\\HttpKernel\\\\Event\\\\GetResponseEvent\\|Symfony\\\\Component\\\\HttpKernel\\\\Event\\\\RequestEvent given\\.$#" + count: 1 + path: tests/EventListener/SubRequestListenerTest.php + - message: "#^Parameter \\$event of method Sentry\\\\SentryBundle\\\\Tests\\\\EventListener\\\\SubRequestListenerTest\\:\\:testHandleKernelRequestEvent\\(\\) has invalid typehint type Symfony\\\\Component\\\\HttpKernel\\\\Event\\\\GetResponseEvent\\.$#" count: 1 diff --git a/src/EventListener/AbstractTracingRequestListener.php b/src/EventListener/AbstractTracingRequestListener.php index dc93ec18..6bab5194 100644 --- a/src/EventListener/AbstractTracingRequestListener.php +++ b/src/EventListener/AbstractTracingRequestListener.php @@ -11,6 +11,8 @@ abstract class AbstractTracingRequestListener { + use KernelEventForwardCompatibilityTrait; + /** * @var HubInterface The current hub */ diff --git a/src/EventListener/KernelEventForwardCompatibilityTrait.php b/src/EventListener/KernelEventForwardCompatibilityTrait.php new file mode 100644 index 00000000..9105d581 --- /dev/null +++ b/src/EventListener/KernelEventForwardCompatibilityTrait.php @@ -0,0 +1,23 @@ +isMainRequest() + : $event->isMasterRequest() + ; + } +} diff --git a/src/EventListener/RequestListener.php b/src/EventListener/RequestListener.php index 23058e2c..f40db1ca 100644 --- a/src/EventListener/RequestListener.php +++ b/src/EventListener/RequestListener.php @@ -17,6 +17,8 @@ */ final class RequestListener { + use KernelEventForwardCompatibilityTrait; + /** * @var HubInterface The current hub */ @@ -47,7 +49,7 @@ public function __construct(HubInterface $hub, ?TokenStorageInterface $tokenStor */ public function handleKernelRequestEvent(RequestListenerRequestEvent $event): void { - if (!$event->isMasterRequest()) { + if (!$this->isMainRequest($event)) { return; } @@ -81,7 +83,7 @@ public function handleKernelRequestEvent(RequestListenerRequestEvent $event): vo */ public function handleKernelControllerEvent(RequestListenerControllerEvent $event): void { - if (!$event->isMasterRequest()) { + if (!$this->isMainRequest($event)) { return; } @@ -102,7 +104,7 @@ public function handleKernelControllerEvent(RequestListenerControllerEvent $even private function getUsername($user): ?string { if ($user instanceof UserInterface) { - return $user->getUsername(); + return method_exists($user, 'getUserIdentifier') ? $user->getUserIdentifier() : $user->getUsername(); } if (\is_string($user)) { diff --git a/src/EventListener/SubRequestListener.php b/src/EventListener/SubRequestListener.php index 0ba6f685..c835cc31 100644 --- a/src/EventListener/SubRequestListener.php +++ b/src/EventListener/SubRequestListener.php @@ -13,6 +13,8 @@ */ final class SubRequestListener { + use KernelEventForwardCompatibilityTrait; + /** * @var HubInterface The current hub */ @@ -36,7 +38,7 @@ public function __construct(HubInterface $hub) */ public function handleKernelRequestEvent(SubRequestListenerRequestEvent $event): void { - if ($event->isMasterRequest()) { + if ($this->isMainRequest($event)) { return; } @@ -51,7 +53,7 @@ public function handleKernelRequestEvent(SubRequestListenerRequestEvent $event): */ public function handleKernelFinishRequestEvent(FinishRequestEvent $event): void { - if ($event->isMasterRequest()) { + if ($this->isMainRequest($event)) { return; } diff --git a/src/EventListener/TracingRequestListener.php b/src/EventListener/TracingRequestListener.php index 2b6cd975..eb3dcf82 100644 --- a/src/EventListener/TracingRequestListener.php +++ b/src/EventListener/TracingRequestListener.php @@ -24,7 +24,7 @@ final class TracingRequestListener extends AbstractTracingRequestListener */ public function handleKernelRequestEvent(RequestListenerRequestEvent $event): void { - if (!$event->isMasterRequest()) { + if (!$this->isMainRequest($event)) { return; } diff --git a/src/EventListener/TracingSubRequestListener.php b/src/EventListener/TracingSubRequestListener.php index cd81b2e4..298a8839 100644 --- a/src/EventListener/TracingSubRequestListener.php +++ b/src/EventListener/TracingSubRequestListener.php @@ -22,7 +22,7 @@ final class TracingSubRequestListener extends AbstractTracingRequestListener */ public function handleKernelRequestEvent(SubRequestListenerRequestEvent $event): void { - if ($event->isMasterRequest()) { + if ($this->isMainRequest($event)) { return; } @@ -53,7 +53,7 @@ public function handleKernelRequestEvent(SubRequestListenerRequestEvent $event): */ public function handleKernelFinishRequestEvent(FinishRequestEvent $event): void { - if ($event->isMasterRequest()) { + if ($this->isMainRequest($event)) { return; } diff --git a/tests/EventListener/RequestListenerTest.php b/tests/EventListener/RequestListenerTest.php index e2d67b97..d9e8c11d 100644 --- a/tests/EventListener/RequestListenerTest.php +++ b/tests/EventListener/RequestListenerTest.php @@ -221,7 +221,12 @@ public function getSalt() return null; } - public function getUsername() + public function getUsername(): string + { + return $this->getUserIdentifier(); + } + + public function getUserIdentifier(): string { return 'foo_user'; } @@ -411,7 +416,12 @@ public function getSalt() return null; } - public function getUsername() + public function getUsername(): string + { + return $this->getUserIdentifier(); + } + + public function getUserIdentifier(): string { return 'foo_user'; } diff --git a/tests/EventListener/SubRequestListenerTest.php b/tests/EventListener/SubRequestListenerTest.php index b941f9c9..c67dda25 100644 --- a/tests/EventListener/SubRequestListenerTest.php +++ b/tests/EventListener/SubRequestListenerTest.php @@ -6,6 +6,7 @@ use PHPUnit\Framework\MockObject\MockObject; use PHPUnit\Framework\TestCase; +use Sentry\SentryBundle\EventListener\KernelEventForwardCompatibilityTrait; use Sentry\SentryBundle\EventListener\SubRequestListener; use Sentry\State\HubInterface; use Sentry\State\Scope; @@ -18,6 +19,8 @@ class SubRequestListenerTest extends TestCase { + use KernelEventForwardCompatibilityTrait; + /** * @var MockObject&HubInterface */ @@ -42,7 +45,7 @@ protected function setUp(): void */ public function testHandleKernelRequestEvent($event): void { - $this->hub->expects($event->isMasterRequest() ? $this->never() : $this->once()) + $this->hub->expects($this->isMainRequest($event) ? $this->never() : $this->once()) ->method('pushScope') ->willReturn(new Scope()); @@ -92,7 +95,7 @@ public function handleKernelRequestEventWithSymfonyVersionLowerThan43DataProvide */ public function testHandleKernelFinishRequestEvent($event): void { - $this->hub->expects($event->isMasterRequest() ? $this->never() : $this->once()) + $this->hub->expects($this->isMainRequest($event) ? $this->never() : $this->once()) ->method('popScope'); $this->listener->handleKernelFinishRequestEvent($event);