diff --git a/test/classes/Plugins/Import/ImportXmlTest.php b/test/classes/Plugins/Import/ImportXmlTest.php index 6a996d556d..209dee5ef3 100644 --- a/test/classes/Plugins/Import/ImportXmlTest.php +++ b/test/classes/Plugins/Import/ImportXmlTest.php @@ -115,12 +115,12 @@ class ImportXmlTest extends AbstractTestCase } /** - * Test for doImport using second dataset + * Test for doImport using the GIS dataset * * @group medium * @requires extension simplexml */ - public function testDoImportDataset2(): void + public function testDoImportDatasetGIS(): void { global $import_notice; @@ -129,7 +129,7 @@ class ImportXmlTest extends AbstractTestCase ->getMock(); $GLOBALS['dbi'] = $dbi; - $GLOBALS['import_file'] = 'test/test_data/test.xml'; + $GLOBALS['import_file'] = 'test/test_data/phpmyadmin_importXML_GIS_For_Testing.xml'; $importHandle = new File($GLOBALS['import_file']); $importHandle->open(); @@ -146,4 +146,37 @@ class ImportXmlTest extends AbstractTestCase self::assertStringContainsString('Edit settings for `test`', $import_notice); self::assertTrue($GLOBALS['finished']); } + + /** + * Test for doImport using no database dataset + * + * @group medium + * @requires extension simplexml + */ + public function testDoImportDatasetNoDatabase(): void + { + global $import_notice; + + $dbi = $this->getMockBuilder(DatabaseInterface::class) + ->disableOriginalConstructor() + ->getMock(); + $GLOBALS['dbi'] = $dbi; + + $GLOBALS['import_file'] = 'test/test_data/phpmyadmin_importXML_No_Database_For_Testing.xml'; + + $importHandle = new File($GLOBALS['import_file']); + $importHandle->open(); + + $this->object->doImport($importHandle); + + self::assertStringContainsString( + 'The following structures have either been created or altered.', + $import_notice + ); + self::assertStringContainsString('Go to database: `test25`', $import_notice); + self::assertStringContainsString('Edit settings for `test`', $import_notice); + self::assertStringContainsString('Go to table: `test`', $import_notice); + self::assertStringContainsString('Edit settings for `test`', $import_notice); + self::assertTrue($GLOBALS['finished']); + } } diff --git a/test/test_data/test.xml b/test/test_data/phpmyadmin_importXML_GIS_For_Testing.xml similarity index 100% rename from test/test_data/test.xml rename to test/test_data/phpmyadmin_importXML_GIS_For_Testing.xml diff --git a/test/test_data/phpmyadmin_importXML_No_Database_For_Testing.xml b/test/test_data/phpmyadmin_importXML_No_Database_For_Testing.xml new file mode 100644 index 0000000000..e12a705d0f --- /dev/null +++ b/test/test_data/phpmyadmin_importXML_No_Database_For_Testing.xml @@ -0,0 +1,13 @@ + + + + + + CREATE TABLE `test` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + PRIMARY KEY (`id`) + ) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; + + + + \ No newline at end of file