AuthenticationConfigTest::testAuthFails PHP Method

testAuthFails() public method

Test for PMA\libraries\plugins\auth\AuthenticationConfig::authFails
public testAuthFails ( ) : void
return void
    public function testAuthFails()
    {
        $removeConstant = false;
        $GLOBALS['error_handler'] = new PMA\libraries\ErrorHandler();
        $GLOBALS['cfg']['Servers'] = array(1);
        $GLOBALS['allowDeny_forbidden'] = false;
        $GLOBALS['collation_connection'] = 'utf-8';
        if (!defined('PMA_USR_BROWSER_AGENT')) {
            define('PMA_USR_BROWSER_AGENT', 'chrome');
            $removeConstant = true;
            if (!PMA_HAS_RUNKIT) {
                $this->markTestSkipped('Cannot remove constant');
            }
        }
        $dbi = $this->getMockBuilder('PMA\\libraries\\DatabaseInterface')->disableOriginalConstructor()->getMock();
        $GLOBALS['dbi'] = $dbi;
        ob_start();
        $result = $this->object->authFails();
        $html = ob_get_clean();
        $this->assertTrue($result);
        $this->assertContains('You probably did not create a configuration file. You might want ' . 'to use the <a href="setup/">setup script</a> to create one.', $html);
        $this->assertContains('<strong>MySQL said: </strong><a href="./url.php?url=https%3A%2F%2F' . 'dev.mysql.com%2Fdoc%2Frefman%2F5.7%2Fen%2Ferror-messages-server.html"' . ' target="mysql_doc">' . '<img src="themes/dot.gif" title="Documentation" alt="Documentation" ' . 'class="icon ic_b_help" /></a>', $html);
        $this->assertContains('Cannot connect: invalid settings.', $html);
        $this->assertContains('<a href="index.php?server=0&amp;lang=en' . '&amp;collation_connection=utf-8" ' . 'class="button disableAjax">Retry to connect</a>', $html);
        if ($removeConstant) {
            runkit_constant_remove('PMA_USR_BROWSER_AGENT');
        }
    }