1
0
mirror of https://github.com/redis/go-redis.git synced 2025-07-31 05:04:23 +03:00

Fix rate limiter and add test.

This commit is contained in:
Vladimir Mihailenco
2014-11-13 14:26:14 +02:00
parent 9805fc35f8
commit b68ae5e548
5 changed files with 61 additions and 10 deletions

View File

@ -88,10 +88,13 @@ func TestSentinel(t *testing.T) {
slavePort := "8124"
sentinelPort := "8125"
_, err := startRedis(masterPort)
masterCmd, err := startRedis(masterPort)
if err != nil {
t.Fatal(err)
}
defer masterCmd.Process.Kill()
// Wait for master to start.
time.Sleep(200 * time.Millisecond)
master := redis.NewTCPClient(&redis.Options{
@ -100,12 +103,14 @@ func TestSentinel(t *testing.T) {
if err := master.Ping().Err(); err != nil {
t.Fatal(err)
}
defer master.Shutdown()
_, err = startRedisSlave(slavePort, masterPort)
slaveCmd, err := startRedisSlave(slavePort, masterPort)
if err != nil {
t.Fatal(err)
}
defer slaveCmd.Process.Kill()
// Wait for slave to start.
time.Sleep(200 * time.Millisecond)
slave := redis.NewTCPClient(&redis.Options{
@ -114,12 +119,14 @@ func TestSentinel(t *testing.T) {
if err := slave.Ping().Err(); err != nil {
t.Fatal(err)
}
defer slave.Shutdown()
_, err = startRedisSentinel(sentinelPort, masterName, masterPort)
sentinelCmd, err := startRedisSentinel(sentinelPort, masterName, masterPort)
if err != nil {
t.Fatal(err)
}
defer sentinelCmd.Process.Kill()
// Wait for sentinel to start.
time.Sleep(200 * time.Millisecond)
sentinel := redis.NewTCPClient(&redis.Options{
@ -147,8 +154,13 @@ func TestSentinel(t *testing.T) {
t.Fatalf(`got %q, expected "master"`, val)
}
// Kill master.
master.Shutdown()
// Kill Redis master.
if err := masterCmd.Process.Kill(); err != nil {
t.Fatal(err)
}
if err := master.Ping().Err(); err == nil {
t.Fatalf("master was not killed")
}
// Wait for Redis sentinel to elect new master.
time.Sleep(5 * time.Second)