Skip to content

Commit 2cf3497

Browse files
committed
Inline dbi creation in some test classes
Creates a new instance of DatabaseInterface for each test. Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
1 parent a9de979 commit 2cf3497

7 files changed

Lines changed: 46 additions & 26 deletions

test/classes/Controllers/Table/DropColumnConfirmationControllerTest.php

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,11 @@ public function testWithValidParameters(): void
2424
['selected_fld', null, ['name', 'datetimefield']],
2525
]);
2626

27-
$this->dummyDbi->addSelectDb('test_db');
28-
$this->dummyDbi->addResult('SHOW TABLES LIKE \'test_table\';', [['test_table']]);
27+
$dummyDbi = $this->createDbiDummy();
28+
$dummyDbi->addSelectDb('test_db');
29+
$dummyDbi->addResult('SHOW TABLES LIKE \'test_table\';', [['test_table']]);
30+
$dbi = $this->createDatabaseInterface($dummyDbi);
31+
$GLOBALS['dbi'] = $dbi;
2932

3033
$response = new ResponseRenderer();
3134
$response->setAjax(true);

test/classes/Controllers/Table/DropColumnControllerTest.php

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,17 +29,19 @@ public function testDropColumnController(): void
2929
];
3030
$_SESSION = [' PMA_token ' => 'token'];
3131

32-
$this->dummyDbi->addSelectDb('test_db');
33-
$this->dummyDbi->addResult('ALTER TABLE `test_table` DROP `name`, DROP `datetimefield`;', []);
32+
$dummyDbi = $this->createDbiDummy();
33+
$dummyDbi->addSelectDb('test_db');
34+
$dummyDbi->addResult('ALTER TABLE `test_table` DROP `name`, DROP `datetimefield`;', []);
35+
$dbi = $this->createDatabaseInterface($dummyDbi);
3436

3537
$this->assertArrayNotHasKey('flashMessages', $_SESSION);
3638

3739
(new DropColumnController(
3840
new ResponseRenderer(),
3941
new Template(),
40-
$this->dbi,
42+
$dbi,
4143
new FlashMessages(),
42-
new RelationCleanup($this->dbi, new Relation($this->dbi))
44+
new RelationCleanup($dbi, new Relation($dbi))
4345
))();
4446

4547
$this->assertArrayHasKey('flashMessages', $_SESSION);

test/classes/Controllers/Table/ExportControllerTest.php

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,10 @@ public function testExportController(): void
2828
$GLOBALS['cfg']['Server']['DisableIS'] = true;
2929
$GLOBALS['single_table'] = '1';
3030

31-
$this->dummyDbi->addResult('SELECT COUNT(*) FROM `test_db`.`test_table`', [['3']]);
31+
$dummyDbi = $this->createDbiDummy();
32+
$dummyDbi->addResult('SELECT COUNT(*) FROM `test_db`.`test_table`', [['3']]);
33+
$dbi = $this->createDatabaseInterface($dummyDbi);
34+
$GLOBALS['dbi'] = $dbi;
3235

3336
$response = new ResponseRenderer();
3437
$pageSettings = new PageSettings('Export');
@@ -90,7 +93,7 @@ public function testExportController(): void
9093
(new ExportController(
9194
$response,
9295
$template,
93-
new Options(new Relation($this->dbi), new TemplateModel($this->dbi))
96+
new Options(new Relation($dbi), new TemplateModel($dbi))
9497
))();
9598
$this->assertSame($expected, $response->getHTMLResult());
9699
}

test/classes/Controllers/Table/GetFieldControllerTest.php

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,27 +30,30 @@ public function testGetFieldController(): void
3030
$_GET['where_clause'] = '`table_with_blob`.`id` = 1';
3131
$_GET['where_clause_sign'] = Core::signSqlQuery('`table_with_blob`.`id` = 1');
3232

33-
$this->dummyDbi->addSelectDb('test_db');
34-
$this->dummyDbi->addResult(
33+
$dummyDbi = $this->createDbiDummy();
34+
$dummyDbi->addSelectDb('test_db');
35+
$dummyDbi->addResult(
3536
'SHOW COLUMNS FROM `test_db`.`table_with_blob`',
3637
[
3738
['id', 'int(11)', 'NO', 'PRI', null, 'auto_increment'],
3839
['file', 'blob', 'NO', '', null, ''],
3940
],
4041
['Field', 'Type', 'Null', 'Key', 'Default', 'Extra']
4142
);
42-
$this->dummyDbi->addResult(
43+
$dummyDbi->addResult(
4344
'SHOW INDEXES FROM `test_db`.`table_with_blob`',
4445
[['table_with_blob', 'PRIMARY', 'id']],
4546
['Table', 'Key_name', 'Column_name']
4647
);
47-
$this->dummyDbi->addResult(
48+
$dummyDbi->addResult(
4849
'SELECT `file` FROM `table_with_blob` WHERE `table_with_blob`.`id` = 1;',
4950
[[bin2hex('FILE')]],
5051
['file']
5152
);
53+
$dbi = $this->createDatabaseInterface($dummyDbi);
54+
$GLOBALS['dbi'] = $dbi;
5255

53-
(new GetFieldController(new ResponseRenderer(), new Template(), $this->dbi))();
56+
(new GetFieldController(new ResponseRenderer(), new Template(), $dbi))();
5457
$this->expectOutputString('46494c45');
5558
}
5659
}

test/classes/Controllers/Table/GisVisualizationControllerTest.php

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,9 @@ public function testGisVisualizationController(): void
3636
$_SESSION['tmpval'] = [];
3737
$_SESSION['tmpval']['max_rows'] = 'all';
3838

39-
$this->dummyDbi->addSelectDb('test_db');
40-
$this->dummyDbi->addResult(
39+
$dummyDbi = $this->createDbiDummy();
40+
$dummyDbi->addSelectDb('test_db');
41+
$dummyDbi->addResult(
4142
'SELECT * FROM `gis_all`',
4243
[['POINT', 'POINT(100 250)']],
4344
['name', 'shape'],
@@ -46,12 +47,14 @@ public function testGisVisualizationController(): void
4647
new FieldMetadata(MYSQLI_TYPE_GEOMETRY, 0, (object) []),
4748
]
4849
);
49-
$this->dummyDbi->addResult(
50+
$dummyDbi->addResult(
5051
'SELECT ST_ASTEXT(`shape`) AS `shape`, ST_SRID(`shape`) AS `srid`'
5152
. ' FROM (SELECT * FROM `gis_all`) AS `temp_gis` LIMIT 0, 25',
5253
[['POINT(100 250)', '0']],
5354
['shape', 'srid']
5455
);
56+
$dbi = $this->createDatabaseInterface($dummyDbi);
57+
$GLOBALS['dbi'] = $dbi;
5558

5659
$params = [
5760
'goto' => 'index.php?route=/database/structure&server=2&lang=en',
@@ -107,7 +110,7 @@ public function testGisVisualizationController(): void
107110
]);
108111

109112
$response = new ResponseRenderer();
110-
(new GisVisualizationController($response, $template, $this->dbi))();
113+
(new GisVisualizationController($response, $template, $dbi))();
111114
$this->assertSame($expected, $response->getHTMLResult());
112115
}
113116
}

test/classes/Controllers/Table/ImportControllerTest.php

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,12 @@ public function testImportController(): void
3030
$GLOBALS['cfg']['Server'] = $GLOBALS['config']->defaultServer;
3131
$_GET['format'] = 'xml';
3232

33-
$this->dummyDbi->addSelectDb('test_db');
34-
$this->dummyDbi->addResult('SHOW TABLES LIKE \'test_table\';', [['test_table']]);
35-
$this->dummyDbi->addResult('SELECT @@local_infile;', [['1']]);
33+
$dummyDbi = $this->createDbiDummy();
34+
$dummyDbi->addSelectDb('test_db');
35+
$dummyDbi->addResult('SHOW TABLES LIKE \'test_table\';', [['test_table']]);
36+
$dummyDbi->addResult('SELECT @@local_infile;', [['1']]);
37+
$dbi = $this->createDatabaseInterface($dummyDbi);
38+
$GLOBALS['dbi'] = $dbi;
3639

3740
$importList = Plugins::getImport('table');
3841
$choice = Plugins::getChoice($importList, 'xml');
@@ -70,14 +73,14 @@ public function testImportController(): void
7073
'timeout_passed' => null,
7174
'offset' => null,
7275
'can_convert_kanji' => false,
73-
'charsets' => Charsets::getCharsets($this->dbi, false),
76+
'charsets' => Charsets::getCharsets($dbi, false),
7477
'is_foreign_key_check' => true,
7578
'user_upload_dir' => '',
7679
'local_files' => '',
7780
]);
7881

7982
$response = new ResponseRenderer();
80-
(new ImportController($response, $template, $this->dbi))();
83+
(new ImportController($response, $template, $dbi))();
8184
$this->assertSame($expected, $response->getHTMLResult());
8285
}
8386
}

test/classes/Controllers/Table/IndexRenameControllerTest.php

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,12 @@ public function testIndexRenameController(): void
2525
$GLOBALS['PMA_PHP_SELF'] = 'index.php';
2626
$GLOBALS['lang'] = 'en';
2727

28-
$this->dummyDbi->addSelectDb('test_db');
29-
$this->dummyDbi->addSelectDb('test_db');
30-
$this->dummyDbi->addResult('SHOW TABLES LIKE \'test_table\';', [['test_table']]);
28+
$dummyDbi = $this->createDbiDummy();
29+
$dummyDbi->addSelectDb('test_db');
30+
$dummyDbi->addSelectDb('test_db');
31+
$dummyDbi->addResult('SHOW TABLES LIKE \'test_table\';', [['test_table']]);
32+
$dbi = $this->createDatabaseInterface($dummyDbi);
33+
$GLOBALS['dbi'] = $dbi;
3134

3235
$template = new Template();
3336
$expected = $template->render('table/index_rename_form', [
@@ -36,7 +39,7 @@ public function testIndexRenameController(): void
3639
]);
3740

3841
$response = new ResponseRenderer();
39-
(new IndexRenameController($response, $template, $this->dbi, new Indexes($response, $template, $this->dbi)))();
42+
(new IndexRenameController($response, $template, $dbi, new Indexes($response, $template, $dbi)))();
4043
$this->assertSame($expected, $response->getHTMLResult());
4144
}
4245
}

0 commit comments

Comments
 (0)