createServerRequest('POST', 'http://example.com/') ->withParsedBody(['token' => 'token']); $response = $middleware->checkTokenRequestParam($request); self::assertNull($response); self::assertArrayHasKey('test', $_POST); self::assertSame('test', $_POST['test']); } public function testCheckTokenRequestParamWithoutToken(): void { $_POST = []; $middleware = new TokenRequestParamChecking(new ResponseRenderer()); $_POST['test'] = 'test'; $request = ServerRequestFactory::create()->createServerRequest('POST', 'http://example.com/'); $response = $middleware->checkTokenRequestParam($request); self::assertNull($response); self::assertArrayNotHasKey('test', $_POST); } public function testCheckTokenRequestParamWithTokenMismatch(): void { $responseRenderer = new ResponseRenderer(); $middleware = new TokenRequestParamChecking($responseRenderer); $dbi = DatabaseInterface::getInstanceForTest(new DbiDummy()); DatabaseInterface::$instance = $dbi; $_SESSION[' PMA_token '] = 'mismatch'; $responseRenderer->setAjax(true); $request = ServerRequestFactory::create()->createServerRequest('POST', 'http://example.com/') ->withParsedBody(['token' => 'token', 'ajax_request' => 'true']); $response = $middleware->checkTokenRequestParam($request); self::assertInstanceOf(ResponseInterface::class, $response); } }