summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-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)
+}