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  }