return []interface{}{"something", "port"}, errors.New("error getting master address") }) sentinel = mcredis.NewSentinel(redisDialer, "master", "goodSentinel,goodSentinel", 0) _, err := sentinel.ConnectAndGetMaster() Expect(dialSentinelCount).To(Equal(2)) Expect(getMasterAddrCallCount).To(Equal(2)) Expect(err.Error()).To(Equal("error getting master address")) }) It("puts successfully-connected sentinel address at beginning of sentinel servers list", func() { sentinel = mcredis.NewSentinel(redisDialer, "master", "badSentinel,badSentinel,goodSentinel,badSentinel", 0) _, err := sentinel.ConnectAndGetMaster() Expect(err).To(BeNil()) Expect(sentinel.GetServers()).To(Equal([]string{"goodSentinel", "badSentinel", "badSentinel", "badSentinel"})) Expect(dialSentinelCount).To(Equal(3)) }) }) Describe("#GetInfo", func() { It("connects to a sentinel and returns the master address and sentinel address that it used", func() { sentinel = mcredis.NewSentinel(redisDialer, "master", "goodSentinel", 0) master, sent := sentinel.GetInfo() Expect(master).To(Equal("masterAddr:port")) Expect(sent).To(Equal("goodSentinel")) }) }) })