summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorChloe Kudryavtsev <toast@toast.cafe>2019-12-19 13:10:41 -0500
committerChloe Kudryavtsev <toast@toast.cafe>2019-12-19 13:10:41 -0500
commit766ae671f2d27596867f921977303c3355b6e3fc (patch)
tree675a1acdbf1e2d88db6882695e10588684cf6e11
parentfeat: make templates overridable compile-time (diff)
feat: add redis storage tests
hidden behind "redis" build tag
-rw-r--r--storage/redis_test.go45
1 files changed, 45 insertions, 0 deletions
diff --git a/storage/redis_test.go b/storage/redis_test.go
new file mode 100644
index 0000000..30dec72
--- /dev/null
+++ b/storage/redis_test.go
@@ -0,0 +1,45 @@
+// +build redis
+
+package storage
+
+import (
+ "testing"
+
+ "github.com/go-redis/redis/v7"
+ "github.com/stretchr/testify/assert"
+)
+
+func TestRedis(t *testing.T) {
+ assert := assert.New(t)
+ const (
+ k = "key"
+ v1 = "val1"
+ v2 = "val2"
+ )
+
+ // when using tag "redis", we expect all of this to be as-is
+ var (
+ o, _ = redis.ParseURL("redis://localhost:6379")
+ c = redis.NewClient(o)
+ s = (*Redis)(c)
+ )
+
+ assert.True(s.Healthy())
+
+ err := s.Create(k, v1, false)
+ assert.Nil(err)
+
+ err = s.Create(k, v2, false)
+ assert.Nil(err)
+
+ err = s.Create(k, v1, true)
+ assert.Equal(Collision, err)
+
+ v, err := s.Read(k)
+ assert.Nil(err)
+ assert.Equal(v2, v)
+
+ _, err = s.Read(v1)
+ assert.NotNil(err)
+ assert.Equal(NotFound, err)
+}