phpmyadmin/test/classes/Plugins/Auth/AuthenticationConfigTest.php
Maurício Meneghini Fauth 92cc67fbf7 Replace assertContains() with assertStringContainsString()
Using assertContains() with string haystacks is deprecated and will not be supported in PHPUnit 9. Refactor your test to use assertStringContainsString() or assertStringContainsStringIgnoringCase() instead.
Using assertNotContains() with string haystacks is deprecated and will not be supported in PHPUnit 9. Refactor your test to use assertStringNotContainsString() or assertStringNotContainsStringIgnoringCase() instead.

Signed-off-by: Maurício Meneghini Fauth <mauriciofauth@gmail.com>
2019-02-24 16:32:28 -03:00

141 lines
3.5 KiB
PHP

<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
* tests for PhpMyAdmin\Plugins\Auth\AuthenticationConfig class
*
* @package PhpMyAdmin-test
*/
declare(strict_types=1);
namespace PhpMyAdmin\Tests\Plugins\Auth;
use PhpMyAdmin\Config;
use PhpMyAdmin\ErrorHandler;
use PhpMyAdmin\Plugins\Auth\AuthenticationConfig;
use PhpMyAdmin\Tests\PmaTestCase;
/**
* tests for PhpMyAdmin\Plugins\Auth\AuthenticationConfig class
*
* @package PhpMyAdmin-test
*/
class AuthenticationConfigTest extends PmaTestCase
{
protected $object;
/**
* Configures global environment.
*
* @return void
*/
protected function setUp(): void
{
$GLOBALS['PMA_Config'] = new Config();
$GLOBALS['PMA_Config']->enableBc();
$GLOBALS['server'] = 0;
$GLOBALS['db'] = 'db';
$GLOBALS['table'] = 'table';
$GLOBALS['PMA_PHP_SELF'] = 'index.php';
$GLOBALS['token_provided'] = true;
$GLOBALS['token_mismatch'] = false;
$this->object = new AuthenticationConfig();
}
/**
* tearDown for test cases
*
* @return void
*/
protected function tearDown(): void
{
unset($this->object);
}
/**
* Test for PhpMyAdmin\Plugins\Auth\AuthenticationConfig::showLoginForm
*
* @return void
*/
public function testAuth()
{
$this->assertTrue(
$this->object->showLoginForm()
);
}
/**
* Test for PhpMyAdmin\Plugins\Auth\AuthenticationConfig::readCredentials
*
* @return void
*/
public function testAuthCheck()
{
$GLOBALS['cfg']['Server'] = [
'user' => 'username',
'password' => 'password',
];
$this->assertTrue(
$this->object->readCredentials()
);
}
/**
* Test for PhpMyAdmin\Plugins\Auth\AuthenticationConfig::storeCredentials
*
* @return void
*/
public function testAuthSetUser()
{
$this->assertTrue(
$this->object->storeCredentials()
);
}
/**
* Test for PhpMyAdmin\Plugins\Auth\AuthenticationConfig::showFailure
*
* @return void
*/
public function testAuthFails()
{
$GLOBALS['error_handler'] = new ErrorHandler();
$GLOBALS['cfg']['Servers'] = [1];
$GLOBALS['allowDeny_forbidden'] = false;
$dbi = $this->getMockBuilder('PhpMyAdmin\DatabaseInterface')
->disableOriginalConstructor()
->getMock();
$GLOBALS['dbi'] = $dbi;
ob_start();
$this->object->showFailure('');
$html = ob_get_clean();
$this->assertStringContainsString(
'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->assertStringContainsString(
'<strong>MySQL said: </strong><a href="./url.php?url=https%3A%2F%2F' .
'dev.mysql.com%2Fdoc%2Frefman%2F5.5%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->assertStringContainsString(
'Cannot connect: invalid settings.',
$html
);
$this->assertStringContainsString(
'<a href="index.php?server=0&amp;lang=en" '
. 'class="button disableAjax">Retry to connect</a>',
$html
);
}
}