func TestMysql56StartReplicationCommandsSSL(t *testing.T) { params := &sqldb.ConnParams{ Uname: "username", Pass: "******", SslCa: "ssl-ca", SslCaPath: "ssl-ca-path", SslCert: "ssl-cert", SslKey: "ssl-key", } mysql.EnableSSL(params) pos, _ := (&mysql56{}).ParseReplicationPosition("00010203-0405-0607-0809-0a0b0c0d0e0f:1-2") status := &proto.ReplicationStatus{ Position: pos, MasterHost: "localhost", MasterPort: 123, MasterConnectRetry: 1234, } want := []string{ "RESET MASTER", "SET GLOBAL gtid_purged = '00010203-0405-0607-0809-0a0b0c0d0e0f:1-2'", `CHANGE MASTER TO MASTER_HOST = 'localhost', MASTER_PORT = 123, MASTER_USER = '******', MASTER_PASSWORD = '******', MASTER_CONNECT_RETRY = 1234, MASTER_SSL = 1, MASTER_SSL_CA = 'ssl-ca', MASTER_SSL_CAPATH = 'ssl-ca-path', MASTER_SSL_CERT = 'ssl-cert', MASTER_SSL_KEY = 'ssl-key', MASTER_AUTO_POSITION = 1`, "START SLAVE", } got, err := (&mysql56{}).StartReplicationCommands(params, status) if err != nil { t.Errorf("unexpected error: %v", err) return } if !reflect.DeepEqual(got, want) { t.Errorf("(&mysql56{}).StartReplicationCommands(%#v, %#v) = %#v, want %#v", params, status, got, want) } }
func TestMariadbStartReplicationCommandsSSL(t *testing.T) { params := &sqldb.ConnParams{ Uname: "username", Pass: "******", SslCa: "ssl-ca", SslCaPath: "ssl-ca-path", SslCert: "ssl-cert", SslKey: "ssl-key", } mysql.EnableSSL(params) status := &proto.ReplicationStatus{ Position: proto.ReplicationPosition{GTIDSet: proto.MariadbGTID{Domain: 1, Server: 41983, Sequence: 12345}}, MasterHost: "localhost", MasterPort: 123, MasterConnectRetry: 1234, } want := []string{ "SET GLOBAL gtid_slave_pos = '1-41983-12345'", `CHANGE MASTER TO MASTER_HOST = 'localhost', MASTER_PORT = 123, MASTER_USER = '******', MASTER_PASSWORD = '******', MASTER_CONNECT_RETRY = 1234, MASTER_SSL = 1, MASTER_SSL_CA = 'ssl-ca', MASTER_SSL_CAPATH = 'ssl-ca-path', MASTER_SSL_CERT = 'ssl-cert', MASTER_SSL_KEY = 'ssl-key', MASTER_USE_GTID = slave_pos`, "START SLAVE", } got, err := (&mariaDB10{}).StartReplicationCommands(params, status) if err != nil { t.Errorf("unexpected error: %v", err) return } if !reflect.DeepEqual(got, want) { t.Errorf("(&mariaDB10{}).StartReplicationCommands(%#v, %#v) = %#v, want %#v", params, status, got, want) } }
func TestMysql56SetMasterCommandsSSL(t *testing.T) { params := &sqldb.ConnParams{ Uname: "username", Pass: "******", SslCa: "ssl-ca", SslCaPath: "ssl-ca-path", SslCert: "ssl-cert", SslKey: "ssl-key", } mysql.EnableSSL(params) masterHost := "localhost" masterPort := 123 masterConnectRetry := 1234 want := []string{ `CHANGE MASTER TO MASTER_HOST = 'localhost', MASTER_PORT = 123, MASTER_USER = '******', MASTER_PASSWORD = '******', MASTER_CONNECT_RETRY = 1234, MASTER_SSL = 1, MASTER_SSL_CA = 'ssl-ca', MASTER_SSL_CAPATH = 'ssl-ca-path', MASTER_SSL_CERT = 'ssl-cert', MASTER_SSL_KEY = 'ssl-key', MASTER_AUTO_POSITION = 1`, } got, err := (&mysql56{}).SetMasterCommands(params, masterHost, masterPort, masterConnectRetry) if err != nil { t.Errorf("unexpected error: %v", err) return } if !reflect.DeepEqual(got, want) { t.Errorf("(&mysql56{}).SetMasterCommands(%#v, %#v, %#v, %#v) = %#v, want %#v", params, masterHost, masterPort, masterConnectRetry, got, want) } }