middleware = new RequestIdMiddleware(); $this->provider = new RequestIdProvider($this->middleware); } #[Test] public function requestIdTrackedByMiddlewareIsForwarded(): void { $initialId = $this->middleware->currentRequestId(); self::assertEquals($initialId, $this->provider->currentRequestId()); $handler = $this->createStub(RequestHandlerInterface::class); $handler->method('handle')->willReturn(new Response()); $this->middleware->process(ServerRequestFactory::fromGlobals(), $handler); $idAfterProcessingRequest = $this->middleware->currentRequestId(); self::assertNotEquals($idAfterProcessingRequest, $initialId); self::assertEquals($idAfterProcessingRequest, $this->provider->currentRequestId()); $manuallySetId = 'foobar'; $this->middleware->setCurrentRequestId($manuallySetId); self::assertNotEquals($manuallySetId, $idAfterProcessingRequest); self::assertEquals($manuallySetId, $this->provider->currentRequestId()); } }