Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/phpmyadmin/phpmyadmin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorMaurício Meneghini Fauth <mauricio@fauth.dev>2022-06-21 03:38:11 +0300
committerMaurício Meneghini Fauth <mauricio@fauth.dev>2022-06-21 03:38:11 +0300
commitda7c7a84e194f4f964bd65fea5f7a0931caae033 (patch)
tree308aa3e66644b09c913f8d832dcdf3380c385bc2 /test
parent3e672740f396b5c4a2fa7038ed3b23b9f1a481a2 (diff)
Refactor the DatabaseInterfaceTest test class
Inline the dbi and dummyDbi properties. Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
Diffstat (limited to 'test')
-rw-r--r--test/classes/DatabaseInterfaceTest.php136
1 files changed, 73 insertions, 63 deletions
diff --git a/test/classes/DatabaseInterfaceTest.php b/test/classes/DatabaseInterfaceTest.php
index 84c28aa5d1..4c2583e7ad 100644
--- a/test/classes/DatabaseInterfaceTest.php
+++ b/test/classes/DatabaseInterfaceTest.php
@@ -19,16 +19,6 @@ use stdClass;
class DatabaseInterfaceTest extends AbstractTestCase
{
/**
- * Configures test parameters.
- */
- protected function setUp(): void
- {
- parent::setUp();
- parent::setGlobalDbi();
- $GLOBALS['server'] = 0;
- }
-
- /**
* Tests for DBI::getCurrentUser() method.
*
* @param array|false $value value
@@ -40,24 +30,21 @@ class DatabaseInterfaceTest extends AbstractTestCase
*/
public function testGetCurrentUser($value, string $string, array $expected, bool $needsSecondCall): void
{
+ $dummyDbi = $this->createDbiDummy();
+ $dbi = $this->createDatabaseInterface($dummyDbi);
+
SessionCache::remove('mysql_cur_user');
- $this->dummyDbi->addResult('SELECT CURRENT_USER();', $value);
+ $dummyDbi->addResult('SELECT CURRENT_USER();', $value);
if ($needsSecondCall) {
- $this->dummyDbi->addResult('SELECT CURRENT_USER();', $value);
+ $dummyDbi->addResult('SELECT CURRENT_USER();', $value);
}
- $this->assertEquals(
- $expected,
- $this->dbi->getCurrentUserAndHost()
- );
+ $this->assertEquals($expected, $dbi->getCurrentUserAndHost());
- $this->assertEquals(
- $string,
- $this->dbi->getCurrentUser()
- );
+ $this->assertEquals($string, $dbi->getCurrentUser());
- $this->assertAllQueriesConsumed();
+ $dummyDbi->assertAllQueriesConsumed();
}
/**
@@ -103,7 +90,10 @@ class DatabaseInterfaceTest extends AbstractTestCase
*/
public function testPMAGetColumnMap(): void
{
- $this->dummyDbi->addResult(
+ $dummyDbi = $this->createDbiDummy();
+ $dbi = $this->createDatabaseInterface($dummyDbi);
+
+ $dummyDbi->addResult(
'PMA_sql_query',
[true],
[],
@@ -125,7 +115,7 @@ class DatabaseInterfaceTest extends AbstractTestCase
'view_columns2',
];
- $column_map = $this->dbi->getColumnMapFromSql($sql_query, $view_columns);
+ $column_map = $dbi->getColumnMapFromSql($sql_query, $view_columns);
$this->assertEquals(
[
@@ -144,7 +134,7 @@ class DatabaseInterfaceTest extends AbstractTestCase
$column_map[1]
);
- $this->assertAllQueriesConsumed();
+ $dummyDbi->assertAllQueriesConsumed();
}
/**
@@ -152,7 +142,8 @@ class DatabaseInterfaceTest extends AbstractTestCase
*/
public function testGetSystemDatabase(): void
{
- $sd = $this->dbi->getSystemDatabase();
+ $dbi = $this->createDatabaseInterface();
+ $sd = $dbi->getSystemDatabase();
$this->assertInstanceOf(SystemDatabase::class, $sd);
}
@@ -161,14 +152,16 @@ class DatabaseInterfaceTest extends AbstractTestCase
*/
public function testPostConnectControl(): void
{
- parent::setGlobalDbi();
- $this->dummyDbi->addResult(
+ $dummyDbi = $this->createDbiDummy();
+ $dbi = $this->createDatabaseInterface($dummyDbi);
+
+ $dummyDbi->addResult(
'SHOW TABLES FROM `phpmyadmin`;',
[]
);
$GLOBALS['db'] = '';
$GLOBALS['cfg']['Server']['only_db'] = [];
- $this->dbi->postConnectControl(new Relation($this->dbi));
+ $dbi->postConnectControl(new Relation($dbi));
$this->assertInstanceOf(DatabaseList::class, $GLOBALS['dblist']);
}
@@ -177,11 +170,13 @@ class DatabaseInterfaceTest extends AbstractTestCase
*/
public function testGetDbCollation(): void
{
+ $dbi = $this->createDatabaseInterface();
+
$GLOBALS['server'] = 1;
// test case for system schema
$this->assertEquals(
'utf8_general_ci',
- $this->dbi->getDbCollation('information_schema')
+ $dbi->getDbCollation('information_schema')
);
$GLOBALS['cfg']['Server']['DisableIS'] = false;
@@ -189,7 +184,7 @@ class DatabaseInterfaceTest extends AbstractTestCase
$this->assertEquals(
'utf8_general_ci',
- $this->dbi->getDbCollation('pma_test')
+ $dbi->getDbCollation('pma_test')
);
}
@@ -198,9 +193,10 @@ class DatabaseInterfaceTest extends AbstractTestCase
*/
public function testGetServerCollation(): void
{
+ $dbi = $this->createDatabaseInterface();
$GLOBALS['server'] = 1;
$GLOBALS['cfg']['DBG']['sql'] = true;
- $this->assertEquals('utf8_general_ci', $this->dbi->getServerCollation());
+ $this->assertEquals('utf8_general_ci', $dbi->getServerCollation());
}
/**
@@ -266,16 +262,19 @@ class DatabaseInterfaceTest extends AbstractTestCase
*/
public function testIsAmazonRdsData(array $value, bool $expected): void
{
+ $dummyDbi = $this->createDbiDummy();
+ $dbi = $this->createDatabaseInterface($dummyDbi);
+
SessionCache::remove('is_amazon_rds');
- $this->dummyDbi->addResult('SELECT @@basedir', $value);
+ $dummyDbi->addResult('SELECT @@basedir', $value);
$this->assertEquals(
$expected,
- $this->dbi->isAmazonRds()
+ $dbi->isAmazonRds()
);
- $this->assertAllQueriesConsumed();
+ $dummyDbi->assertAllQueriesConsumed();
}
/**
@@ -358,23 +357,28 @@ class DatabaseInterfaceTest extends AbstractTestCase
*/
public function testSetCollation(): void
{
- $this->dummyDbi->addResult('SET collation_connection = \'utf8_czech_ci\';', [true]);
- $this->dummyDbi->addResult('SET collation_connection = \'utf8mb4_bin_ci\';', [true]);
- $this->dummyDbi->addResult('SET collation_connection = \'utf8_czech_ci\';', [true]);
- $this->dummyDbi->addResult('SET collation_connection = \'utf8_bin_ci\';', [true]);
+ $dummyDbi = $this->createDbiDummy();
+ $dbi = $this->createDatabaseInterface($dummyDbi);
+
+ $dummyDbi->addResult('SET collation_connection = \'utf8_czech_ci\';', [true]);
+ $dummyDbi->addResult('SET collation_connection = \'utf8mb4_bin_ci\';', [true]);
+ $dummyDbi->addResult('SET collation_connection = \'utf8_czech_ci\';', [true]);
+ $dummyDbi->addResult('SET collation_connection = \'utf8_bin_ci\';', [true]);
$GLOBALS['charset_connection'] = 'utf8mb4';
- $this->dbi->setCollation('utf8_czech_ci');
- $this->dbi->setCollation('utf8mb4_bin_ci');
+ $dbi->setCollation('utf8_czech_ci');
+ $dbi->setCollation('utf8mb4_bin_ci');
$GLOBALS['charset_connection'] = 'utf8';
- $this->dbi->setCollation('utf8_czech_ci');
- $this->dbi->setCollation('utf8mb4_bin_ci');
+ $dbi->setCollation('utf8_czech_ci');
+ $dbi->setCollation('utf8mb4_bin_ci');
- $this->assertAllQueriesConsumed();
+ $dummyDbi->assertAllQueriesConsumed();
}
public function testGetTablesFull(): void
{
+ $dbi = $this->createDatabaseInterface();
+
$GLOBALS['cfg']['Server']['DisableIS'] = true;
$expected = [
@@ -423,12 +427,14 @@ class DatabaseInterfaceTest extends AbstractTestCase
],
];
- $actual = $this->dbi->getTablesFull('test_db');
+ $actual = $dbi->getTablesFull('test_db');
$this->assertEquals($expected, $actual);
}
public function testGetTablesFullWithInformationSchema(): void
{
+ $dbi = $this->createDatabaseInterface();
+
$GLOBALS['cfg']['Server']['DisableIS'] = false;
$expected = [
@@ -479,7 +485,7 @@ class DatabaseInterfaceTest extends AbstractTestCase
],
];
- $actual = $this->dbi->getTablesFull('test_db');
+ $actual = $dbi->getTablesFull('test_db');
$this->assertEquals($expected, $actual);
}
@@ -488,25 +494,29 @@ class DatabaseInterfaceTest extends AbstractTestCase
*/
public function testQueryAsControlUser(): void
{
+ $dummyDbi = $this->createDbiDummy();
+ $dbi = $this->createDatabaseInterface($dummyDbi);
+
$sql = 'insert into PMA_bookmark A,B values(1, 2)';
- $this->dummyDbi->addResult($sql, [true]);
- $this->dummyDbi->addResult($sql, [true]);
- $this->dummyDbi->addResult('Invalid query', false);
+ $dummyDbi->addResult($sql, [true]);
+ $dummyDbi->addResult($sql, [true]);
+ $dummyDbi->addResult('Invalid query', false);
$this->assertInstanceOf(
ResultInterface::class,
- $this->dbi->queryAsControlUser($sql)
+ $dbi->queryAsControlUser($sql)
);
$this->assertInstanceOf(
ResultInterface::class,
- $this->dbi->tryQueryAsControlUser($sql)
+ $dbi->tryQueryAsControlUser($sql)
);
- $this->assertFalse($this->dbi->tryQueryAsControlUser('Invalid query'));
+ $this->assertFalse($dbi->tryQueryAsControlUser('Invalid query'));
}
public function testGetDatabasesFullDisabledISAndSortIntColumn(): void
{
- parent::setGlobalDbi();
+ $dummyDbi = $this->createDbiDummy();
+ $dbi = $this->createDatabaseInterface($dummyDbi);
$GLOBALS['db'] = '';
$GLOBALS['table'] = '';
@@ -518,22 +528,22 @@ class DatabaseInterfaceTest extends AbstractTestCase
'db1',
'db2',
];
- $this->dummyDbi->removeDefaultResults();
- $this->dummyDbi->addResult(
+ $dummyDbi->removeDefaultResults();
+ $dummyDbi->addResult(
'SELECT @@collation_database',
[
['utf8_general_ci'],
],
['@@collation_database']
);
- $this->dummyDbi->addResult(
+ $dummyDbi->addResult(
'SELECT @@collation_database',
[
['utf8_general_ci'],
],
['@@collation_database']
);
- $this->dummyDbi->addResult(
+ $dummyDbi->addResult(
'SHOW TABLE STATUS FROM `db1`;',
[
[
@@ -597,7 +607,7 @@ class DatabaseInterfaceTest extends AbstractTestCase
]
);
- $this->dummyDbi->addResult(
+ $dummyDbi->addResult(
'SHOW TABLE STATUS FROM `db2`;',
[
[
@@ -660,12 +670,12 @@ class DatabaseInterfaceTest extends AbstractTestCase
'Comment',
]
);
- $this->dummyDbi->addSelectDb('');
- $this->dummyDbi->addSelectDb('');
- $this->dummyDbi->addSelectDb('db1');
- $this->dummyDbi->addSelectDb('db2');
+ $dummyDbi->addSelectDb('');
+ $dummyDbi->addSelectDb('');
+ $dummyDbi->addSelectDb('db1');
+ $dummyDbi->addSelectDb('db2');
- $databaseList = $this->dbi->getDatabasesFull(
+ $databaseList = $dbi->getDatabasesFull(
null,
true,
DatabaseInterface::CONNECT_USER,
@@ -700,6 +710,6 @@ class DatabaseInterfaceTest extends AbstractTestCase
],
], $databaseList);
- $this->assertAllQueriesConsumed();
+ $dummyDbi->assertAllQueriesConsumed();
}
}