summaryrefslogtreecommitdiffhomepage
path: root/storage/redis_test.go
blob: 30dec72fce252f86be8277d94fbbe53f62bbc7d6 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
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)
}