func (s *TestSuite) TestDiscover(c *C) { var err error _, err = db.ExecOrchestrator("delete from database_instance where hostname = ? and port = ?", masterKey.Hostname, masterKey.Port) _, err = db.ExecOrchestrator("delete from database_instance where hostname = ? and port = ?", slave1Key.Hostname, slave1Key.Port) _, err = db.ExecOrchestrator("delete from database_instance where hostname = ? and port = ?", slave2Key.Hostname, slave2Key.Port) _, err = db.ExecOrchestrator("delete from database_instance where hostname = ? and port = ?", slave3Key.Hostname, slave3Key.Port) _, found, _ := inst.ReadInstance(&masterKey) c.Assert(found, Equals, false) _, _ = inst.ReadTopologyInstance(&slave1Key) orchestrator.StartDiscovery(slave1Key) _, found, err = inst.ReadInstance(&slave1Key) c.Assert(found, Equals, true) c.Assert(err, IsNil) }
// The test also assumes one backend MySQL server. func (s *TestSuite) SetUpSuite(c *C) { config.Config.MySQLTopologyUser = "******" config.Config.MySQLTopologyPassword = "******" config.Config.MySQLOrchestratorHost = "127.0.0.1" config.Config.MySQLOrchestratorPort = 5532 config.Config.MySQLOrchestratorDatabase = "orchestrator" config.Config.MySQLOrchestratorUser = "******" config.Config.MySQLOrchestratorPassword = "******" config.Config.DiscoverByShowSlaveHosts = true _, _ = db.ExecOrchestrator("delete from database_instance where hostname = ? and port = ?", masterKey.Hostname, masterKey.Port) _, _ = db.ExecOrchestrator("delete from database_instance where hostname = ? and port = ?", slave1Key.Hostname, slave1Key.Port) _, _ = db.ExecOrchestrator("delete from database_instance where hostname = ? and port = ?", slave2Key.Hostname, slave2Key.Port) _, _ = db.ExecOrchestrator("delete from database_instance where hostname = ? and port = ?", slave3Key.Hostname, slave3Key.Port) inst.ExecInstance(&masterKey, "drop database if exists orchestrator_test") inst.ExecInstance(&masterKey, "create database orchestrator_test") inst.ExecInstance(&masterKey, `create table orchestrator_test.test_table( name varchar(128) charset ascii not null primary key, value varchar(128) charset ascii not null )`) rand.Seed(time.Now().UTC().UnixNano()) }
func clearTestMaintenance() { _, _ = db.ExecOrchestrator("update database_instance_maintenance set maintenance_active=null, end_timestamp=NOW() where owner = ?", "unittest") }