createDatabaseInterface(); //$_POST $_POST['primary_add_user'] = 'primary_add_user'; //$GLOBALS $GLOBALS['cfg']['MaxRows'] = 10; $GLOBALS['cfg']['ServerDefault'] = 'server'; $GLOBALS['cfg']['RememberSorting'] = true; $GLOBALS['cfg']['SQP'] = []; $GLOBALS['cfg']['MaxCharactersInDisplayedSQL'] = 1000; $GLOBALS['cfg']['ShowSQL'] = true; $GLOBALS['cfg']['TableNavigationLinksMode'] = 'icons'; $GLOBALS['cfg']['LimitChars'] = 100; $GLOBALS['cfg']['DBG']['sql'] = false; $GLOBALS['cfg']['ShowHint'] = true; $GLOBALS['table'] = 'table'; $GLOBALS['server'] = 0; $GLOBALS['urlParams'] = []; $this->replicationGui = new ReplicationGui(new Replication(), new Template()); } /** * @group medium */ public function testGetHtmlForPrimaryReplication(): void { $html = $this->replicationGui->getHtmlForPrimaryReplication(); //validate 1: Primary replication $this->assertStringContainsString('
Primary replication
', $html); $this->assertStringContainsString('This server is configured as primary in a replication process.', $html); //validate 2: getHtmlForReplicationStatusTable $this->assertStringContainsString('
assertStringContainsString('Binlog_Do_DB', $html); $this->assertStringContainsString('Binlog_Ignore_DB', $html); $this->assertStringContainsString('primary-bin.000030', $html); //validate 3: getHtmlForReplicationReplicasTable $this->assertStringContainsString('replication_replicas_section', $html); $this->assertStringContainsString('Server ID', $html); $this->assertStringContainsString('Host', $html); //replica host $this->assertStringContainsString('Server_id1', $html); $this->assertStringContainsString('Server_id2', $html); $this->assertStringContainsString('Host1', $html); $this->assertStringContainsString('Host2', $html); //Notice $this->assertStringContainsString('Only replicas started with the', $html); //validate 4: navigation URL $this->assertStringContainsString('', $html); } public function testGetHtmlForReplicaConfiguration(): void { $replicationInfo = new ReplicationInfo($GLOBALS['dbi']); $replicationInfo->load(); //Call the test function $html = $this->replicationGui->getHtmlForReplicaConfiguration( true, $replicationInfo->getReplicaStatus() ); //legend $this->assertStringContainsString('
Replica replication
', $html); $this->assertStringContainsString('
', $html); //notice $this->assertStringContainsString('Server is configured as replica in a replication process.', $html); //replica session $this->assertStringContainsString('
assertStringContainsString('Master_SSL_CA_Path', $html); $this->assertStringContainsString('Master_SSL_Cert', $html); $this->assertStringContainsString('Master_SSL_Cipher', $html); $this->assertStringContainsString('Seconds_Behind_Master', $html); } public function testGetHtmlForReplicationChangePrimary(): void { //Call the test function $html = $this->replicationGui->getHtmlForReplicationChangePrimary('replica_changeprimary'); $this->assertStringContainsString('