Leitgedanken/#pma/test/libraries/database_interface_test.php
2022-11-21 09:47:28 +01:00

125 lines
2.7 KiB
PHP

<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
* Test for faked database access
*
* @package PhpMyAdmin-test
*/
/*
* Include to test.
*/
require_once 'libraries/database_interface.inc.php';
require_once 'libraries/charset_conversion.lib.php';
/**
* Tests basic functionality of dummy dbi driver
*
* @package PhpMyAdmin-test
*/
class PMA_DBI_Test extends PHPUnit_Framework_TestCase
{
/**
* Configures test parameters.
*
* @return void
*/
function setup()
{
$GLOBALS['cfg']['DBG']['sql'] = false;
$GLOBALS['cfg']['IconvExtraParams'] = '';
}
/**
* Simple test for basic query
*
* This relies on dummy driver internals
*
* @return void
*/
function testQuery()
{
$this->assertEquals(0, $GLOBALS['dbi']->tryQuery('SELECT 1'));
}
/**
* Simple test for fetching results of query
*
* This relies on dummy driver internals
*
* @return void
*/
function testFetch()
{
$result = $GLOBALS['dbi']->tryQuery('SELECT 1');
$this->assertEquals(array('1'), $GLOBALS['dbi']->fetchArray($result));
}
/**
* Test for system schema detection
*
* @param string $schema schema name
* @param bool $expected expected result
*
* @return void
*
* @dataProvider schemaData
*/
function testSystemSchema($schema, $expected)
{
$this->assertEquals($expected, $GLOBALS['dbi']->isSystemSchema($schema));
}
/**
* Data provider for schema test
*
* @return array with test data
*/
function schemaData()
{
return array(
array('information_schema', true),
array('pma_test', false),
);
}
/**
* Test for error formatting
*
* @param integer $number error number
* @param string $message error message
* @param string $expected expected result
*
* @return void
*
* @dataProvider errorData
*/
function testFormatError($number, $message, $expected)
{
$GLOBALS['server'] = 1;
$this->assertEquals(
$expected,
$GLOBALS['dbi']->formatError($number, $message)
);
}
/**
* Data provider for error formatting test
*
* @return array with test data
*/
function errorData()
{
return array(
array(1234, '', '#1234 - '),
array(1234, 'foobar', '#1234 - foobar'),
array(
2002, 'foobar',
'#2002 - foobar &mdash; The server is not responding (or the local '
. 'server\'s socket is not correctly configured).'
),
);
}
}