Test classes for engines library
This commit is contained in:
parent
7ca27e29ef
commit
ca65d686fe
125
test/engines/PMA_StorageEngine_bdb_test.php
Normal file
125
test/engines/PMA_StorageEngine_bdb_test.php
Normal file
@ -0,0 +1,125 @@
|
||||
<?php
|
||||
/**
|
||||
* Tests for PMA_StorageEngine_bdb
|
||||
*
|
||||
* @package PhpMyAdmin-test
|
||||
*/
|
||||
|
||||
/*
|
||||
* Include to test.
|
||||
*/
|
||||
|
||||
require_once 'libraries/StorageEngine.class.php';
|
||||
require_once 'libraries/engines/bdb.lib.php';
|
||||
require_once 'libraries/php-gettext/gettext.inc';
|
||||
|
||||
|
||||
class PMA_StorageEngine_bdb_test extends PHPUnit_Framework_TestCase
|
||||
{
|
||||
/**
|
||||
* @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()
|
||||
{
|
||||
if (! defined('PMA_DRIZZLE')) {
|
||||
define('PMA_DRIZZLE', 1);
|
||||
}
|
||||
if (! function_exists('PMA_DBI_fetch_result')) {
|
||||
function PMA_DBI_fetch_result($query)
|
||||
{
|
||||
return array(
|
||||
'dummy' => 'table1',
|
||||
'engine' => 'table`2'
|
||||
);
|
||||
}
|
||||
}
|
||||
$this->object = $this->getMockForAbstractClass('PMA_StorageEngine_bdb', array('dummy'));
|
||||
}
|
||||
|
||||
/**
|
||||
* 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()
|
||||
{
|
||||
unset($this->object);
|
||||
}
|
||||
|
||||
/**
|
||||
* Test for getVariables
|
||||
*/
|
||||
public function testGetVariables(){
|
||||
$this->assertEquals(
|
||||
$this->object->getVariables(),
|
||||
array(
|
||||
'version_bdb' => array(
|
||||
'title' => __('Version information'),
|
||||
),
|
||||
'bdb_cache_size' => array(
|
||||
'type' => 1,
|
||||
),
|
||||
'bdb_home' => array(
|
||||
),
|
||||
'bdb_log_buffer_size' => array(
|
||||
'type' => 1,
|
||||
),
|
||||
'bdb_logdir' => array(
|
||||
),
|
||||
'bdb_max_lock' => array(
|
||||
'type' => 2,
|
||||
),
|
||||
'bdb_shared_data' => array(
|
||||
),
|
||||
'bdb_tmpdir' => array(
|
||||
),
|
||||
'bdb_data_direct' => array(
|
||||
),
|
||||
'bdb_lock_detect' => array(
|
||||
),
|
||||
'bdb_log_direct' => array(
|
||||
),
|
||||
'bdb_no_recover' => array(
|
||||
),
|
||||
'bdb_no_sync' => array(
|
||||
),
|
||||
'skip_sync_bdb_logs' => array(
|
||||
),
|
||||
'sync_bdb_logs' => array(
|
||||
),
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Test for getVariablesLikePattern
|
||||
*/
|
||||
public function testGetVariablesLikePattern(){
|
||||
$this->assertEquals(
|
||||
$this->object->getVariablesLikePattern(),
|
||||
'%bdb%'
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Test for getMysqlHelpPage
|
||||
*/
|
||||
public function testGetMysqlHelpPage(){
|
||||
$this->assertEquals(
|
||||
$this->object->getMysqlHelpPage(),
|
||||
'bdb'
|
||||
);
|
||||
|
||||
}
|
||||
}
|
||||
68
test/engines/PMA_StorageEngine_binlog_test.php
Normal file
68
test/engines/PMA_StorageEngine_binlog_test.php
Normal file
@ -0,0 +1,68 @@
|
||||
<?php
|
||||
/**
|
||||
* Tests for PMA_StorageEngine_binlog
|
||||
*
|
||||
* @package PhpMyAdmin-test
|
||||
*/
|
||||
|
||||
/*
|
||||
* Include to test.
|
||||
*/
|
||||
|
||||
require_once 'libraries/StorageEngine.class.php';
|
||||
require_once 'libraries/engines/binlog.lib.php';
|
||||
|
||||
class PMA_StorageEngine_binlog_test extends PHPUnit_Framework_TestCase
|
||||
{
|
||||
/**
|
||||
* @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()
|
||||
{
|
||||
if (! defined('PMA_DRIZZLE')) {
|
||||
define('PMA_DRIZZLE', 1);
|
||||
}
|
||||
if (! function_exists('PMA_DBI_fetch_result')) {
|
||||
function PMA_DBI_fetch_result($query)
|
||||
{
|
||||
return array(
|
||||
'dummy' => 'table1',
|
||||
'engine' => 'table`2'
|
||||
);
|
||||
}
|
||||
}
|
||||
$this->object = $this->getMockForAbstractClass('PMA_StorageEngine_binlog', array('dummy'));
|
||||
}
|
||||
|
||||
/**
|
||||
* 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()
|
||||
{
|
||||
unset($this->object);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Test for getMysqlHelpPage
|
||||
*/
|
||||
public function testGetMysqlHelpPage(){
|
||||
$this->assertEquals(
|
||||
$this->object->getMysqlHelpPage(),
|
||||
'binary-log'
|
||||
);
|
||||
}
|
||||
}
|
||||
367
test/engines/PMA_StorageEngine_innodb_test.php
Normal file
367
test/engines/PMA_StorageEngine_innodb_test.php
Normal file
@ -0,0 +1,367 @@
|
||||
<?php
|
||||
/**
|
||||
* Tests for PMA_StorageEngine_innodb
|
||||
*
|
||||
* @package PhpMyAdmin-test
|
||||
*/
|
||||
|
||||
/*
|
||||
* Include to test.
|
||||
*/
|
||||
|
||||
require_once 'libraries/StorageEngine.class.php';
|
||||
require_once 'libraries/engines/innodb.lib.php';
|
||||
require_once 'libraries/php-gettext/gettext.inc';
|
||||
require_once 'libraries/CommonFunctions.class.php';
|
||||
|
||||
class PMA_StorageEngine_innodb_test extends PHPUnit_Framework_TestCase
|
||||
{
|
||||
/**
|
||||
* @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()
|
||||
{
|
||||
if (! defined('PMA_DRIZZLE')) {
|
||||
define('PMA_DRIZZLE', 1);
|
||||
}
|
||||
if (! function_exists('PMA_DBI_fetch_result')) {
|
||||
function PMA_DBI_fetch_result($query)
|
||||
{
|
||||
return array(
|
||||
'dummy' => 'table1',
|
||||
'engine' => 'table`2',
|
||||
'Innodb_buffer_pool_pages_total' => 10,
|
||||
'Innodb_page_size' => 4,
|
||||
'Innodb_buffer_pool_pages_free' => 4,
|
||||
'Innodb_buffer_pool_pages_dirty' => 3,
|
||||
'Innodb_buffer_pool_pages_data' => 2,
|
||||
'Innodb_buffer_pool_pages_flushed' => 5,
|
||||
'Innodb_buffer_pool_pages_misc' => 1,
|
||||
'Innodb_buffer_pool_pages_latched' => 2,
|
||||
'Innodb_buffer_pool_read_requests' => 3,
|
||||
'Innodb_buffer_pool_write_requests' => 4,
|
||||
'Innodb_buffer_pool_reads' => 4,
|
||||
'Innodb_buffer_pool_wait_free' => 3,
|
||||
);
|
||||
}
|
||||
}
|
||||
$this->object = $this->getMockForAbstractClass('PMA_StorageEngine_innodb', array('dummy'));
|
||||
}
|
||||
|
||||
/**
|
||||
* 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()
|
||||
{
|
||||
unset($this->object);
|
||||
}
|
||||
|
||||
/**
|
||||
* Test for getVariables
|
||||
*/
|
||||
public function testGetVariables(){
|
||||
$this->assertEquals(
|
||||
$this->object->getVariables(),
|
||||
array(
|
||||
'innodb_data_home_dir' => array(
|
||||
'title' => __('Data home directory'),
|
||||
'desc' => __('The common part of the directory path for all InnoDB data files.'),
|
||||
),
|
||||
'innodb_data_file_path' => array(
|
||||
'title' => __('Data files'),
|
||||
),
|
||||
'innodb_autoextend_increment' => array(
|
||||
'title' => __('Autoextend increment'),
|
||||
'desc' => __('The increment size for extending the size of an autoextending tablespace when it becomes full.'),
|
||||
'type' => 2,
|
||||
),
|
||||
'innodb_buffer_pool_size' => array(
|
||||
'title' => __('Buffer pool size'),
|
||||
'desc' => __('The size of the memory buffer InnoDB uses to cache data and indexes of its tables.'),
|
||||
'type' => 1,
|
||||
),
|
||||
'innodb_additional_mem_pool_size' => array(
|
||||
'title' => 'innodb_additional_mem_pool_size',
|
||||
'type' => 1,
|
||||
),
|
||||
'innodb_buffer_pool_awe_mem_mb' => array(
|
||||
'type' => 1,
|
||||
),
|
||||
'innodb_checksums' => array(
|
||||
),
|
||||
'innodb_commit_concurrency' => array(
|
||||
),
|
||||
'innodb_concurrency_tickets' => array(
|
||||
'type' => 2,
|
||||
),
|
||||
'innodb_doublewrite' => array(
|
||||
),
|
||||
'innodb_fast_shutdown' => array(
|
||||
),
|
||||
'innodb_file_io_threads' => array(
|
||||
'type' => 2,
|
||||
),
|
||||
'innodb_file_per_table' => array(
|
||||
),
|
||||
'innodb_flush_log_at_trx_commit' => array(
|
||||
),
|
||||
'innodb_flush_method' => array(
|
||||
),
|
||||
'innodb_force_recovery' => array(
|
||||
),
|
||||
'innodb_lock_wait_timeout' => array(
|
||||
'type' => 2,
|
||||
),
|
||||
'innodb_locks_unsafe_for_binlog' => array(
|
||||
),
|
||||
'innodb_log_arch_dir' => array(
|
||||
),
|
||||
'innodb_log_archive' => array(
|
||||
),
|
||||
'innodb_log_buffer_size' => array(
|
||||
'type' => 1,
|
||||
),
|
||||
'innodb_log_file_size' => array(
|
||||
'type' => 1,
|
||||
),
|
||||
'innodb_log_files_in_group' => array(
|
||||
'type' => 2,
|
||||
),
|
||||
'innodb_log_group_home_dir' => array(
|
||||
),
|
||||
'innodb_max_dirty_pages_pct' => array(
|
||||
'type' => 2,
|
||||
),
|
||||
'innodb_max_purge_lag' => array(
|
||||
),
|
||||
'innodb_mirrored_log_groups' => array(
|
||||
'type' => 2,
|
||||
),
|
||||
'innodb_open_files' => array(
|
||||
'type' => 2,
|
||||
),
|
||||
'innodb_support_xa' => array(
|
||||
),
|
||||
'innodb_sync_spin_loops' => array(
|
||||
'type' => 2,
|
||||
),
|
||||
'innodb_table_locks' => array(
|
||||
'type' => 3,
|
||||
),
|
||||
'innodb_thread_concurrency' => array(
|
||||
'type' => 2,
|
||||
),
|
||||
'innodb_thread_sleep_delay' => array(
|
||||
'type' => 2,
|
||||
),
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Test for getVariablesLikePattern
|
||||
*/
|
||||
public function testGetVariablesLikePattern(){
|
||||
$this->assertEquals(
|
||||
$this->object->getVariablesLikePattern(),
|
||||
'innodb\\_%'
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Test for getInfoPages
|
||||
*/
|
||||
public function testGetInfoPages(){
|
||||
$this->assertEquals(
|
||||
$this->object->getInfoPages(),
|
||||
array()
|
||||
);
|
||||
$this->object->support = 2;
|
||||
$this->assertEquals(
|
||||
$this->object->getInfoPages(),
|
||||
array (
|
||||
'Bufferpool' => 'Buffer Pool',
|
||||
'Status' => 'InnoDB Status'
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Test for getPageBufferpool
|
||||
*/
|
||||
public function testGetPageBufferpool(){
|
||||
$this->assertEquals(
|
||||
$this->object->getPageBufferpool(),
|
||||
'<table class="data" id="table_innodb_bufferpool_usage">
|
||||
<caption class="tblHeaders">
|
||||
Buffer Pool Usage
|
||||
</caption>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<th colspan="2">
|
||||
Total
|
||||
: 10 pages / 40 B
|
||||
</th>
|
||||
</tr>
|
||||
</tfoot>
|
||||
<tbody>
|
||||
<tr class="odd">
|
||||
<th>Free pages</th>
|
||||
<td class="value">4</td>
|
||||
</tr>
|
||||
<tr class="even">
|
||||
<th>Dirty pages</th>
|
||||
<td class="value">3</td>
|
||||
</tr>
|
||||
<tr class="odd">
|
||||
<th>Pages containing data</th>
|
||||
<td class="value">2
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="even">
|
||||
<th>Pages to be flushed</th>
|
||||
<td class="value">5
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="odd">
|
||||
<th>Busy pages</th>
|
||||
<td class="value">1
|
||||
</td>
|
||||
</tr> <tr class="even"> <th>Latched pages</th> <td class="value">2</td> </tr> </tbody>
|
||||
</table>
|
||||
|
||||
<table class="data" id="table_innodb_bufferpool_activity">
|
||||
<caption class="tblHeaders">
|
||||
Buffer Pool Activity
|
||||
</caption>
|
||||
<tbody>
|
||||
<tr class="odd">
|
||||
<th>Read requests</th>
|
||||
<td class="value">3
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="even">
|
||||
<th>Write requests</th>
|
||||
<td class="value">4
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="odd">
|
||||
<th>Read misses</th>
|
||||
<td class="value">4
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="even">
|
||||
<th>Write waits</th>
|
||||
<td class="value">3
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="odd">
|
||||
<th>Read misses in %</th>
|
||||
<td class="value">133.33 %
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="even">
|
||||
<th>Write waits in %</th>
|
||||
<td class="value">75 %
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
'
|
||||
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Test for getPageStatus
|
||||
*/
|
||||
public function testGetPageStatus(){
|
||||
if (! function_exists('PMA_DBI_fetch_value')) {
|
||||
function PMA_DBI_fetch_value()
|
||||
{
|
||||
return 'status';
|
||||
}
|
||||
}
|
||||
|
||||
$this->assertEquals(
|
||||
$this->object->getPageStatus(),
|
||||
'<pre id="pre_innodb_status">' . "\n"
|
||||
. 'status' . "\n"
|
||||
. '</pre>' . "\n"
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Test for getPage
|
||||
*/
|
||||
public function testGetPage(){
|
||||
$this->assertFalse(
|
||||
$this->object->getPage('Status')
|
||||
);
|
||||
$this->object->support = 2;
|
||||
$this->assertEquals(
|
||||
$this->object->getPage('Status'),
|
||||
'<pre id="pre_innodb_status">' . "\n"
|
||||
. 'status' . "\n"
|
||||
. '</pre>' . "\n"
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Test for getMysqlHelpPage
|
||||
*/
|
||||
public function testGetMysqlHelpPage(){
|
||||
$this->assertEquals(
|
||||
$this->object->getMysqlHelpPage(),
|
||||
'innodb'
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Test for getInnodbPluginVersion
|
||||
*/
|
||||
public function testGetInnodbPluginVersion(){
|
||||
$this->assertEquals(
|
||||
$this->object->getInnodbPluginVersion(),
|
||||
'status'
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Test for supportsFilePerTable
|
||||
*/
|
||||
public function testSupportsFilePerTable(){
|
||||
$this->assertEquals(
|
||||
$this->object->supportsFilePerTable(),
|
||||
false
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Test for getInnodbFileFormat
|
||||
*/
|
||||
public function testGetInnodbFileFormat(){
|
||||
$this->assertEquals(
|
||||
$this->object->getInnodbFileFormat(),
|
||||
'status'
|
||||
);
|
||||
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user