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>
159 lines
4.1 KiB
PHP
159 lines
4.1 KiB
PHP
<?php
|
|
/**
|
|
* Tests for PhpMyAdmin\Plugins\Import\ImportMediawiki class
|
|
*
|
|
* @package PhpMyAdmin-test
|
|
*/
|
|
declare(strict_types=1);
|
|
|
|
namespace PhpMyAdmin\Tests\Plugins\Import;
|
|
|
|
use PhpMyAdmin\File;
|
|
use PhpMyAdmin\Plugins\Import\ImportMediawiki;
|
|
use PhpMyAdmin\Tests\PmaTestCase;
|
|
|
|
/**
|
|
* Tests for PhpMyAdmin\Plugins\Import\ImportMediawiki class
|
|
*
|
|
* @package PhpMyAdmin-test
|
|
*/
|
|
class ImportMediawikiTest 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;
|
|
$GLOBALS['plugin_param'] = 'database';
|
|
$this->object = new ImportMediawiki();
|
|
|
|
//setting
|
|
$GLOBALS['finished'] = false;
|
|
$GLOBALS['read_limit'] = 100000000;
|
|
$GLOBALS['offset'] = 0;
|
|
$GLOBALS['cfg']['Server']['DisableIS'] = false;
|
|
|
|
$GLOBALS['import_file'] = 'test/test_data/phpmyadmin.mediawiki';
|
|
$GLOBALS['import_text'] = 'ImportMediawiki_Test';
|
|
$GLOBALS['read_multiply'] = 10;
|
|
$GLOBALS['import_type'] = 'Mediawiki';
|
|
$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(
|
|
__('MediaWiki Table'),
|
|
$properties->getText()
|
|
);
|
|
$this->assertEquals(
|
|
'txt',
|
|
$properties->getExtension()
|
|
);
|
|
$this->assertEquals(
|
|
'text/plain',
|
|
$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
|
|
|
|
mediawiki_DB (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: `mediawiki_DB`',
|
|
$import_notice
|
|
);
|
|
$this->assertStringContainsString(
|
|
'Edit settings for `mediawiki_DB`',
|
|
$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']
|
|
);
|
|
}
|
|
}
|