setLanguage(); DatabaseInterface::$instance = $this->createDatabaseInterface(); Current::$database = 'db'; Current::$table = 'table'; $_POST['pma_password'] = ''; $this->object = new AuthenticationCookie(new ResponseRendererStub()); $_SERVER['PHP_SELF'] = '/phpmyadmin/index.php'; Config::getInstance()->selectedServer['DisableIS'] = false; AuthenticationCookie::$connectionError = ''; } public function testAuthErrorAJAX(): void { AuthenticationCookie::$connectionError = 'Error'; (new ReflectionProperty(ResponseRenderer::class, 'instance'))->setValue(null, null); $responseRenderer = ResponseRenderer::getInstance(); $responseRenderer->setAjax(true); $this->object = new AuthenticationCookie($responseRenderer); $response = $this->object->showLoginForm(); self::assertSame(StatusCodeInterface::STATUS_OK, $response->getStatusCode()); $body = (string) $response->getBody(); self::assertJson($body); $json = json_decode($body, true); self::assertIsArray($json); self::assertArrayHasKey('success', $json); self::assertFalse($json['success']); self::assertArrayHasKey('redirect_flag', $json); self::assertSame('1', $json['redirect_flag']); } public function testAuthError(): void { $_REQUEST = []; $_REQUEST['old_usr'] = ''; $config = Config::getInstance(); $config->set('blowfish_secret', str_repeat('a', 32)); $this->object->user = 'pmauser'; AuthenticationCookie::$authServer = 'localhost'; AuthenticationCookie::$connectionError = 'Error'; $config->set('AllowArbitraryServer', true); Current::$database = 'testDb'; Current::$table = 'testTable'; $config->settings['Servers'] = [1, 2]; $response = $this->object->showLoginForm(); $result = (string) $response->getBody(); self::assertStringContainsString(' id="imLogo"', $result); self::assertStringContainsString('