neoneo-go/pkg/core/storage/redis_store_test.go

45 lines
945 B
Go
Raw Normal View History

2019-09-10 14:22:45 +00:00
package storage
import (
"testing"
"github.com/alicebob/miniredis"
"github.com/stretchr/testify/require"
2019-09-10 14:22:45 +00:00
)
type mockedRedisStore struct {
RedisStore
mini *miniredis.Miniredis
2019-09-10 14:22:45 +00:00
}
func prepareRedisMock(t *testing.T) (*miniredis.Miniredis, *RedisStore) {
miniRedis, err := miniredis.Run()
require.Nil(t, err, "MiniRedis mock creation error")
2019-09-10 14:22:45 +00:00
_ = miniRedis.Set("foo", "bar")
dbConfig := DBConfiguration{
Type: "redisDB",
RedisDBOptions: RedisDBOptions{
Addr: miniRedis.Addr(),
Password: "",
DB: 0,
},
}
newRedisStore, err := NewRedisStore(dbConfig.RedisDBOptions)
require.Nil(t, err, "NewRedisStore() error")
2019-09-10 14:22:45 +00:00
return miniRedis, newRedisStore
}
func (mrs *mockedRedisStore) Close() error {
err := mrs.RedisStore.Close()
mrs.mini.Close()
return err
}
func newRedisStoreForTesting(t *testing.T) Store {
mock, rs := prepareRedisMock(t)
mrs := &mockedRedisStore{RedisStore: *rs, mini: mock}
return mrs
}