diff --git a/libraries/dbi/DBIDummy.class.php b/libraries/dbi/DBIDummy.class.php index 1361629e23..163f885fe1 100644 --- a/libraries/dbi/DBIDummy.class.php +++ b/libraries/dbi/DBIDummy.class.php @@ -301,6 +301,61 @@ $GLOBALS['dummy_queries'] = array( " AND table_name = 'pma_test_table2'" . " ORDER BY version DESC", 'result' => array() + ), + array( + 'query' => "SHOW SLAVE STATUS", + 'result' => array( + array( + 'Slave_IO_State' => 'running', + 'Master_Host' => 'locahost', + 'Master_User' => 'Master_User', + 'Master_Port' => '1002', + 'Connect_Retry' => 'Connect_Retry', + 'Master_Log_File' => 'Master_Log_File', + 'Read_Master_Log_Pos' => 'Read_Master_Log_Pos', + 'Relay_Log_File' => 'Relay_Log_File', + 'Relay_Log_Pos' => 'Relay_Log_Pos', + 'Relay_Master_Log_File' => 'Relay_Master_Log_File', + 'Slave_IO_Running' => 'NO', + 'Slave_SQL_Running' => 'NO', + 'Replicate_Do_DB' => 'Replicate_Do_DB', + 'Replicate_Ignore_DB' => 'Replicate_Ignore_DB', + 'Replicate_Do_Table' => 'Replicate_Do_Table', + 'Replicate_Ignore_Table' => 'Replicate_Ignore_Table', + 'Replicate_Wild_Do_Table' => 'Replicate_Wild_Do_Table', + 'Replicate_Wild_Ignore_Table' => 'Replicate_Wild_Ignore_Table', + 'Last_Errno' => 'Last_Errno', + 'Last_Error' => 'Last_Error', + 'Skip_Counter' => 'Skip_Counter', + 'Exec_Master_Log_Pos' => 'Exec_Master_Log_Pos', + 'Relay_Log_Space' => 'Relay_Log_Space', + 'Until_Condition' => 'Until_Condition', + 'Until_Log_File' => 'Until_Log_File', + 'Until_Log_Pos' => 'Until_Log_Pos', + 'Master_SSL_Allowed' => 'Master_SSL_Allowed', + 'Master_SSL_CA_File' => 'Master_SSL_CA_File', + 'Master_SSL_CA_Path' => 'Master_SSL_CA_Path', + 'Master_SSL_Cert' => 'Master_SSL_Cert', + 'Master_SSL_Cipher' => 'Master_SSL_Cipher', + 'Master_SSL_Key' => 'Master_SSL_Key', + 'Seconds_Behind_Master' => 'Seconds_Behind_Master', + ) + ) + ), + array( + 'query' => "SHOW MASTER STATUS", + 'result' => array( + array( + "File" => "master-bin.000030", + "Position" => "107", + "Binlog_Do_DB" => "Binlog_Do_DB", + "Binlog_Ignore_DB" => "Binlog_Ignore_DB", + ) + ) + ), + array( + 'query' => "SHOW GRANTS", + 'result' => array() ) ); /** diff --git a/test/classes/plugin/import/ImportCsv_test.php b/test/classes/plugin/import/ImportCsv_test.php index 404b3ed131..63e1ec6140 100644 --- a/test/classes/plugin/import/ImportCsv_test.php +++ b/test/classes/plugin/import/ImportCsv_test.php @@ -18,6 +18,7 @@ require_once 'libraries/Util.class.php'; require_once 'libraries/url_generating.lib.php'; require_once 'libraries/php-gettext/gettext.inc'; require_once 'libraries/Table.class.php'; +require_once 'libraries/Tracker.class.php'; require_once 'libraries/database_interface.inc.php'; require_once 'libraries/import.lib.php'; require_once 'libraries/sanitizing.lib.php'; diff --git a/test/classes/plugin/import/ImportLdi_test.php b/test/classes/plugin/import/ImportLdi_test.php index 9a68cd191d..7703a36faa 100644 --- a/test/classes/plugin/import/ImportLdi_test.php +++ b/test/classes/plugin/import/ImportLdi_test.php @@ -19,6 +19,7 @@ require_once 'libraries/Util.class.php'; require_once 'libraries/url_generating.lib.php'; require_once 'libraries/php-gettext/gettext.inc'; require_once 'libraries/Table.class.php'; +require_once 'libraries/Tracker.class.php'; require_once 'libraries/database_interface.inc.php'; require_once 'libraries/import.lib.php'; /* Each PluginObserver instance contains a PluginManager instance */ diff --git a/test/classes/plugin/import/ImportMediawiki_test.php b/test/classes/plugin/import/ImportMediawiki_test.php index 1e66090d11..dfe89efbdd 100644 --- a/test/classes/plugin/import/ImportMediawiki_test.php +++ b/test/classes/plugin/import/ImportMediawiki_test.php @@ -17,6 +17,7 @@ require_once 'libraries/Util.class.php'; require_once 'libraries/url_generating.lib.php'; require_once 'libraries/php-gettext/gettext.inc'; require_once 'libraries/Table.class.php'; +require_once 'libraries/Tracker.class.php'; require_once 'libraries/database_interface.inc.php'; require_once 'libraries/import.lib.php'; diff --git a/test/classes/plugin/import/ImportOds_test.php b/test/classes/plugin/import/ImportOds_test.php index 51ce3df8b8..313fc7b398 100644 --- a/test/classes/plugin/import/ImportOds_test.php +++ b/test/classes/plugin/import/ImportOds_test.php @@ -18,6 +18,7 @@ require_once 'libraries/Util.class.php'; require_once 'libraries/url_generating.lib.php'; require_once 'libraries/php-gettext/gettext.inc'; require_once 'libraries/Table.class.php'; +require_once 'libraries/Tracker.class.php'; require_once 'libraries/database_interface.inc.php'; require_once 'libraries/import.lib.php'; require_once 'libraries/sanitizing.lib.php'; diff --git a/test/classes/plugin/import/ImportSql_test.php b/test/classes/plugin/import/ImportSql_test.php index 13c76aea38..dafb9c20c5 100644 --- a/test/classes/plugin/import/ImportSql_test.php +++ b/test/classes/plugin/import/ImportSql_test.php @@ -18,6 +18,7 @@ require_once 'libraries/Util.class.php'; require_once 'libraries/url_generating.lib.php'; require_once 'libraries/php-gettext/gettext.inc'; require_once 'libraries/Table.class.php'; +require_once 'libraries/Tracker.class.php'; require_once 'libraries/database_interface.inc.php'; require_once 'libraries/import.lib.php'; diff --git a/test/classes/plugin/import/ImportXml_test.php b/test/classes/plugin/import/ImportXml_test.php index 60e8314b2f..c1b3fb93cd 100644 --- a/test/classes/plugin/import/ImportXml_test.php +++ b/test/classes/plugin/import/ImportXml_test.php @@ -18,6 +18,7 @@ require_once 'libraries/Util.class.php'; require_once 'libraries/url_generating.lib.php'; require_once 'libraries/php-gettext/gettext.inc'; require_once 'libraries/Table.class.php'; +require_once 'libraries/Tracker.class.php'; require_once 'libraries/database_interface.inc.php'; require_once 'libraries/import.lib.php'; /* Each PluginObserver instance contains a PluginManager instance */ diff --git a/test/libraries/PMA_server_replication_test.php b/test/libraries/PMA_server_replication_test.php new file mode 100644 index 0000000000..cbf841d955 --- /dev/null +++ b/test/libraries/PMA_server_replication_test.php @@ -0,0 +1,310 @@ +'Server_id1', 'Host'=>'Host1'), + array('Server_id'=>'Server_id2', 'Host'=>'Host2'), + ); + + $fetchResult = array( + array( + "SHOW SLAVE HOSTS", + null, + null, + null, + 0, + $slave_host + ), + ); + + $dbi = $this->getMockBuilder('PMA_DatabaseInterface') + ->disableOriginalConstructor() + ->getMock(); + + $dbi->expects($this->any())->method('fetchResult') + ->will($this->returnValueMap($fetchResult)); + + $fields_info = array( + "Host" => array( + "Field" => "host", + "Type" => "char(60)", + "Null" => "NO", + ) + ); + $dbi->expects($this->any())->method('getColumns') + ->will($this->returnValue($fields_info)); + + $GLOBALS['dbi'] = $dbi; + } + + /** + * Test for PMA_getHtmlForMasterReplication + * + * @return void + */ + public function testPMAGetHtmlForMasterReplication() + { + global $master_variables; + global $master_variables_alerts; + global $master_variables_oks; + global $server_master_replication; + global $strReplicationStatus_master; + + $master_variables_alerts = null; + $master_variables_oks = null; + $strReplicationStatus_master = null; + + //Call the test function + $html = PMA_getHtmlForMasterReplication(); + + //validate 1: Master replication + $this->assertContains( + '', + $html + ); + $this->assertContains( + 'This server is configured as master in a replication process.', + $html + ); + + //validate 2: PMA_getHtmlForReplicationStatusTable + $this->assertContains( + '