diff options
| author | 2019-12-19 13:10:41 -0500 | |
|---|---|---|
| committer | 2019-12-19 13:10:41 -0500 | |
| commit | 766ae671f2d27596867f921977303c3355b6e3fc (patch) | |
| tree | 675a1acdbf1e2d88db6882695e10588684cf6e11 | |
| parent | feat: make templates overridable compile-time (diff) | |
feat: add redis storage tests
hidden behind "redis" build tag
| -rw-r--r-- | storage/redis_test.go | 45 |
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) +} |
