test(quality): cover upsert validation and redis open branches
This commit is contained in:
@@ -457,6 +457,44 @@ func TestRedisStickyStoreOpenRejectsAuthError(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestRedisStickyStoreOpenRejectsAuthUnexpectedResponse(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
server := newScriptedRedisServer(t, func(conn net.Conn, reader *bufio.Reader) {
|
||||
command, err := readRESPArray(reader)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
if len(command) > 0 && strings.ToUpper(command[0]) == "AUTH" {
|
||||
_, _ = io.WriteString(conn, ":1\r\n")
|
||||
}
|
||||
})
|
||||
defer server.Close()
|
||||
|
||||
store := &RedisStickyStore{cfg: RedisConfig{Addr: server.Addr(), Password: "secret"}}
|
||||
_, _, err := store.open(context.Background())
|
||||
if err == nil || !strings.Contains(err.Error(), "redis AUTH unexpected response") {
|
||||
t.Fatalf("open() error = %v, want auth unexpected response", err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestRedisStickyStoreOpenRejectsAuthReadFailure(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
server := newScriptedRedisServer(t, func(conn net.Conn, reader *bufio.Reader) {
|
||||
if _, err := readRESPArray(reader); err != nil {
|
||||
return
|
||||
}
|
||||
})
|
||||
defer server.Close()
|
||||
|
||||
store := &RedisStickyStore{cfg: RedisConfig{Addr: server.Addr(), Password: "secret"}}
|
||||
_, _, err := store.open(context.Background())
|
||||
if err == nil || !strings.Contains(err.Error(), "redis AUTH read") {
|
||||
t.Fatalf("open() error = %v, want auth read failure", err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestRedisStickyStoreOpenRejectsSelectUnexpectedResponse(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
@@ -485,6 +523,30 @@ func TestRedisStickyStoreOpenRejectsSelectUnexpectedResponse(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestRedisStickyStoreOpenRejectsSelectReadFailure(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
server := newScriptedRedisServer(t, func(conn net.Conn, reader *bufio.Reader) {
|
||||
command, err := readRESPArray(reader)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
if len(command) > 0 && strings.ToUpper(command[0]) == "AUTH" {
|
||||
_, _ = io.WriteString(conn, "+OK\r\n")
|
||||
}
|
||||
if _, err := readRESPArray(reader); err != nil {
|
||||
return
|
||||
}
|
||||
})
|
||||
defer server.Close()
|
||||
|
||||
store := &RedisStickyStore{cfg: RedisConfig{Addr: server.Addr(), Password: "secret", DB: 2}}
|
||||
_, _, err := store.open(context.Background())
|
||||
if err == nil || !strings.Contains(err.Error(), "redis SELECT read") {
|
||||
t.Fatalf("open() error = %v, want select read failure", err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestRedisStickyStoreGetJSONRejectsUnexpectedResponse(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user