'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\libraries\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 * @group medium */ public function testPMAGetHtmlForMasterReplication() { global $master_variables_alerts; global $master_variables_oks; 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( 'Master replication', $html ); $this->assertContains( 'This server is configured as master in a replication process.', $html ); //validate 2: PMA_getHtmlForReplicationStatusTable $this->assertContains( '
assertContains( "Binlog_Do_DB", $html ); $this->assertContains( "Binlog_Ignore_DB", $html ); //$server_master_replication $this->assertContains( "master-bin.000030", $html ); //validate 3: PMA_getHtmlForReplicationSlavesTable $this->assertContains( 'replication_slaves_section', $html ); $this->assertContains( 'Server ID', $html ); $this->assertContains( 'Host', $html ); //slave host $this->assertContains( 'Server_id1', $html ); $this->assertContains( 'Server_id2', $html ); $this->assertContains( 'Host1', $html ); $this->assertContains( 'Host2', $html ); //Notice $this->assertContains( 'Only slaves started with the', $html ); //validate 4: navigation URL $this->assertContains( '', $html ); } /** * Test for PMA_getHtmlForNotServerReplication * * @return void */ public function testPMAGetHtmlForNotServerReplication() { //Call the test function $html = PMA_getHtmlForNotServerReplication(); $this->assertContains( 'Master replication', $html ); $this->assertContains( 'This server is not configured as master in a replication process.', $html ); } /** * Test for PMA_getHtmlForSlaveConfiguration * * @return void */ public function testPMAGetHtmlForSlaveConfiguration() { global $server_slave_replication; //Call the test function $html = PMA_getHtmlForSlaveConfiguration( true, $server_slave_replication ); //legend $this->assertContains( 'Slave replication', $html ); $this->assertContains( '
', $html ); //notice $this->assertContains( 'Server is configured as slave in a replication process.', $html ); //slave session $this->assertContains( '
assertContains( 'Master_SSL_CA_Path', $html ); $this->assertContains( 'Master_SSL_Cert', $html ); $this->assertContains( 'Master_SSL_Cipher', $html ); $this->assertContains( 'Seconds_Behind_Master', $html ); } /** * Test for PMA_getHtmlForReplicationChangeMaster * * @return void */ public function testPMAGetHtmlForReplicationChangeMaster() { //Call the test function $html = PMA_getHtmlForReplicationChangeMaster("slave_changemaster"); $this->assertContains( '
', $html ); $this->assertContains( 'Slave configuration', $html ); $this->assertContains( 'Change or reconfigure master server', $html ); $notice = 'Make sure, you have unique server-id ' . 'in your configuration file (my.cnf)'; $this->assertContains( $notice, $html ); } }