Files
redis/client_test.go
T
2026-08-25 09:29:30 +08:00

35 lines
973 B
Go

package redis
import (
"sync"
"testing"
"git.zhangdeman.cn/zhangdeman/redis/define"
"go.uber.org/zap"
)
func TestAddClientKeepsMasterAndSlaveSeparate(t *testing.T) {
client := &OwnClient{
lock: &sync.RWMutex{},
instanceTable: map[string]*define.ClientInfo{},
whiteCommandTable: map[string]bool{},
logger: zap.NewNop(),
}
err := client.AddClient("main", zap.NewNop(), &define.Config{
Master: &define.Options{Addr: "master.example:6379"},
Slave: &define.Options{Addr: "slave.example:6379"},
})
if err != nil {
t.Fatal(err)
}
info := client.GetRealClient("main")
if info.MasterClient() == nil || info.MasterClient().Options().Addr != "master.example:6379" {
t.Fatal("master connection was overwritten")
}
if info.SlaveClient() == nil || info.SlaveClient().Options().Addr != "slave.example:6379" {
t.Fatal("slave connection was not retained")
}
_ = info.MasterClient().Close()
_ = info.SlaveClient().Close()
}