createDatabaseInterface(); //$_POST $_POST['primary_add_user'] = 'primary_add_user'; //$GLOBALS $config = Config::getInstance(); $config->settings['MaxRows'] = 10; $config->settings['ServerDefault'] = 'server'; $config->settings['RememberSorting'] = true; $config->settings['SQP'] = []; $config->settings['MaxCharactersInDisplayedSQL'] = 1000; $config->settings['ShowSQL'] = true; $config->settings['TableNavigationLinksMode'] = 'icons'; $config->settings['LimitChars'] = 100; $config->settings['DBG']['sql'] = false; $config->settings['ShowHint'] = true; $GLOBALS['table'] = 'table'; $GLOBALS['server'] = 0; $GLOBALS['urlParams'] = []; $this->replicationGui = new ReplicationGui(new Replication(DatabaseInterface::getInstance()), new Template()); } #[Group('medium')] public function testGetHtmlForPrimaryReplication(): void { $html = $this->replicationGui->getHtmlForPrimaryReplication(null, false, 'primary_add_user', null, null); //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(DatabaseInterface::getInstance()); $replicationInfo->load(); //Call the test function $html = $this->replicationGui->getHtmlForReplicaConfiguration( null, true, $replicationInfo->getReplicaStatus(), isset($_POST['replica_configure']), ); //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('