object = new AuthenticationConfig(); } /** * tearDown for test cases */ protected function tearDown(): void { parent::tearDown(); unset($this->object); } public function testAuth(): void { self::assertTrue($this->object->showLoginForm()); } public function testAuthCheck(): void { $GLOBALS['cfg']['Server'] = [ 'user' => 'username', 'password' => 'password', ]; self::assertTrue($this->object->readCredentials()); } public function testAuthSetUser(): void { self::assertTrue($this->object->storeCredentials()); } public function testAuthFails(): void { $GLOBALS['errorHandler'] = new ErrorHandler(); $GLOBALS['cfg']['Servers'] = [1]; $dbi = $this->getMockBuilder(DatabaseInterface::class) ->disableOriginalConstructor() ->getMock(); $GLOBALS['dbi'] = $dbi; ob_start(); $this->object->showFailure(''); $html = ob_get_clean(); self::assertIsString($html); self::assertStringContainsString('You probably did not create a configuration file. You might want ' . 'to use the setup script to create one.', $html); self::assertStringContainsString('MySQL said: ' . 'Documentation', $html); self::assertStringContainsString('Cannot connect: invalid settings.', $html); self::assertStringContainsString('Retry to connect', $html); } }