Add more test coverage for Redis Checkpoint

This commit is contained in:
Harlow Ward 2017-11-22 21:28:39 -08:00
parent 6401371727
commit b0245d688b

View file

@ -2,47 +2,49 @@ package redis
import ( import (
"testing" "testing"
"gopkg.in/redis.v5"
) )
var defaultAddr = "127.0.0.1:6379"
func Test_CheckpointLifecycle(t *testing.T) { func Test_CheckpointLifecycle(t *testing.T) {
client := redis.NewClient(&redis.Options{Addr: defaultAddr}) // new
c, err := New("app")
c := &Checkpoint{ if err != nil {
appName: "app", t.Fatalf("new checkpoint error: %v", err)
client: client,
} }
// set checkpoint // set
c.Set("streamName", "shardID", "testSeqNum") c.Set("streamName", "shardID", "testSeqNum")
// get checkpoint // get
val, err := c.Get("streamName", "shardID") val, err := c.Get("streamName", "shardID")
if err != nil { if err != nil {
t.Fatalf("get checkpoint error: %v", err) t.Fatalf("get checkpoint error: %v", err)
} }
if val != "testSeqNum" { if val != "testSeqNum" {
t.Fatalf("checkpoint exists expected %s, got %s", "testSeqNum", val) t.Fatalf("checkpoint exists expected %s, got %s", "testSeqNum", val)
} }
}
client.Del(c.key("streamName", "shardID")) func Test_SetEmptySeqNum(t *testing.T) {
c, err := New("app")
if err != nil {
t.Fatalf("new checkpoint error: %v", err)
}
err = c.Set("streamName", "shardID", "")
if err == nil {
t.Fatalf("should not allow empty sequence number")
}
} }
func Test_key(t *testing.T) { func Test_key(t *testing.T) {
client := redis.NewClient(&redis.Options{Addr: defaultAddr}) c, err := New("app")
if err != nil {
c := &Checkpoint{ t.Fatalf("new checkpoint error: %v", err)
appName: "app",
client: client,
} }
expected := "app:checkpoint:stream:shard" want := "app:checkpoint:stream:shard"
if val := c.key("stream", "shard"); val != expected { if got := c.key("stream", "shard"); got != want {
t.Fatalf("checkpoint exists expected %s, got %s", expected, val) t.Fatalf("checkpoint key, want %s, got %s", want, got)
} }
} }