github.com/therealbill/libredis@v0.0.0-20161227004305-7d50abda5ccf/client/sentinel_test.go (about) 1 package client 2 3 import "testing" 4 5 func init() { 6 address = "127.0.0.1:6379" 7 client, err := DialWithConfig(&DialConfig{network, address, db, password, timeout, maxidle, false, false, "", "", "", "", tcpKeepAlive}) 8 if err != nil { 9 panic(err) 10 } 11 r = client 12 } 13 14 func TestBuildSlaveInfo(t *testing.T) { 15 16 inmap := make(map[string]string) 17 inmap["name"] = "apod" 18 inmap["ip"] = "127.0.0.1" 19 inmap["port"] = "6379" 20 inmap["runid"] = "thisismyrunid" 21 inmap["flags"] = "slaveflag" 22 inmap["pending-commands"] = "3" 23 inmap["is-master-down"] = "1" 24 inmap["last-ok-ping-reply"] = "100" 25 inmap["role-reported-time"] = "12345678" 26 inmap["last-ping-reply"] = "12345600" 27 inmap["last-ping-sent"] = "12345599" 28 inmap["role-reported"] = "slave" 29 inmap["info-refresh"] = "200" 30 inmap["master-link-down-time"] = "10" 31 inmap["master-link-status"] = "ok" 32 inmap["master-host"] = "127.0.0.2" 33 inmap["master-port"] = "6379" 34 inmap["slave-priority"] = "100" 35 inmap["slave-repl-offset"] = "202" 36 37 slave_info, err := r.buildSlaveInfoStruct(inmap) 38 if err != nil { 39 t.Error(err) 40 t.Fail() 41 } 42 if slave_info.Flags != "slaveflag" { 43 t.Fail() 44 } 45 if slave_info.InfoRefresh != 200 { 46 t.Fail() 47 } 48 } 49 50 func TestBuildMasterInfo(t *testing.T) { 51 52 inmap := make(map[string]string) 53 inmap["name"] = "apod" 54 inmap["ip"] = "127.0.0.1" 55 inmap["port"] = "6379" 56 inmap["runid"] = "thisismyrunid" 57 inmap["flags"] = "masterflag" 58 inmap["down-after-milliseconds"] = "30000" 59 inmap["last-ok-ping-reply"] = "100" 60 inmap["role-reported-time"] = "12345678" 61 inmap["last-ping-reply"] = "12345600" 62 inmap["last-ping-sent"] = "12345599" 63 inmap["role-reported"] = "slave" 64 inmap["info-refresh"] = "200" 65 inmap["config-epoch"] = "10" 66 inmap["parallel-syncs"] = "5" 67 inmap["failover-timeout"] = "5000" 68 inmap["quorum"] = "2" 69 inmap["num-slaves"] = "2" 70 inmap["num-other-sentinels"] = "2" 71 inmap["is-master-down"] = "1" 72 73 info, err := r.buildMasterInfoStruct(inmap) 74 if err != nil { 75 t.Error(err) 76 t.Fail() 77 } 78 if info.Flags != "masterflag" { 79 t.Fail() 80 } 81 82 if info.Quorum != 2 { 83 t.Fail() 84 } 85 if !info.IsMasterDown { 86 t.Fail() 87 } 88 89 }