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>
161 lines
4.1 KiB
PHP
161 lines
4.1 KiB
PHP
<?php
|
|
/**
|
|
* Tests for PhpMyAdmin\Plugins\Import\ImportXml class
|
|
*
|
|
* @package PhpMyAdmin-test
|
|
*/
|
|
declare(strict_types=1);
|
|
|
|
namespace PhpMyAdmin\Tests\Plugins\Import;
|
|
|
|
use PhpMyAdmin\File;
|
|
use PhpMyAdmin\Plugins\Import\ImportXml;
|
|
use PhpMyAdmin\Tests\PmaTestCase;
|
|
|
|
/**
|
|
* Tests for PhpMyAdmin\Plugins\Import\ImportXml class
|
|
*
|
|
* @package PhpMyAdmin-test
|
|
*/
|
|
class ImportXmlTest extends PmaTestCase
|
|
{
|
|
/**
|
|
* @access protected
|
|
*/
|
|
protected $object;
|
|
|
|
/**
|
|
* Sets up the fixture, for example, opens a network connection.
|
|
* This method is called before a test is executed.
|
|
*
|
|
* @access protected
|
|
* @return void
|
|
*/
|
|
protected function setUp(): void
|
|
{
|
|
$GLOBALS['server'] = 0;
|
|
|
|
$this->object = new ImportXml();
|
|
|
|
//setting
|
|
$GLOBALS['finished'] = false;
|
|
$GLOBALS['read_limit'] = 100000000;
|
|
$GLOBALS['offset'] = 0;
|
|
$GLOBALS['cfg']['Server']['DisableIS'] = false;
|
|
|
|
$GLOBALS['import_file'] = 'test/test_data/phpmyadmin_importXML_'
|
|
. 'For_Testing.xml';
|
|
$GLOBALS['import_text'] = 'ImportXml_Test';
|
|
$GLOBALS['compression'] = 'none';
|
|
$GLOBALS['read_multiply'] = 10;
|
|
$GLOBALS['import_type'] = 'Xml';
|
|
$GLOBALS['import_handle'] = new File($GLOBALS['import_file']);
|
|
$GLOBALS['import_handle']->open();
|
|
}
|
|
|
|
/**
|
|
* Tears down the fixture, for example, closes a network connection.
|
|
* This method is called after a test is executed.
|
|
*
|
|
* @access protected
|
|
* @return void
|
|
*/
|
|
protected function tearDown(): void
|
|
{
|
|
unset($this->object);
|
|
}
|
|
|
|
/**
|
|
* Test for getProperties
|
|
*
|
|
* @return void
|
|
*
|
|
* @group medium
|
|
*/
|
|
public function testGetProperties()
|
|
{
|
|
$properties = $this->object->getProperties();
|
|
$this->assertEquals(
|
|
__('XML'),
|
|
$properties->getText()
|
|
);
|
|
$this->assertEquals(
|
|
'xml',
|
|
$properties->getExtension()
|
|
);
|
|
$this->assertEquals(
|
|
'text/xml',
|
|
$properties->getMimeType()
|
|
);
|
|
$this->assertEquals(
|
|
[],
|
|
$properties->getOptions()
|
|
);
|
|
$this->assertEquals(
|
|
__('Options'),
|
|
$properties->getOptionsText()
|
|
);
|
|
}
|
|
|
|
/**
|
|
* Test for doImport
|
|
*
|
|
* @return void
|
|
*
|
|
* @group medium
|
|
*/
|
|
public function testDoImport()
|
|
{
|
|
//$import_notice will show the import detail result
|
|
global $import_notice;
|
|
|
|
//Mock DBI
|
|
$dbi = $this->getMockBuilder('PhpMyAdmin\DatabaseInterface')
|
|
->disableOriginalConstructor()
|
|
->getMock();
|
|
$GLOBALS['dbi'] = $dbi;
|
|
|
|
//Test function called
|
|
$this->object->doImport();
|
|
|
|
// If import successfully, PMA will show all databases and tables
|
|
// imported as following HTML Page
|
|
/*
|
|
The following structures have either been created or altered. Here you
|
|
can:
|
|
View a structure's contents by clicking on its name
|
|
Change any of its settings by clicking the corresponding "Options" link
|
|
Edit structure by following the "Structure" link
|
|
|
|
phpmyadmintest (Options)
|
|
pma_bookmarktest (Structure) (Options)
|
|
*/
|
|
|
|
//asset that all databases and tables are imported
|
|
$this->assertStringContainsString(
|
|
'The following structures have either been created or altered.',
|
|
$import_notice
|
|
);
|
|
$this->assertStringContainsString(
|
|
'Go to database: `phpmyadmintest`',
|
|
$import_notice
|
|
);
|
|
$this->assertStringContainsString(
|
|
'Edit settings for `phpmyadmintest`',
|
|
$import_notice
|
|
);
|
|
$this->assertStringContainsString(
|
|
'Go to table: `pma_bookmarktest`',
|
|
$import_notice
|
|
);
|
|
$this->assertStringContainsString(
|
|
'Edit settings for `pma_bookmarktest`',
|
|
$import_notice
|
|
);
|
|
$this->assertEquals(
|
|
true,
|
|
$GLOBALS['finished']
|
|
);
|
|
}
|
|
}
|