Files
wonderwall/pkg/session/store_redis_test.go
2022-08-26 14:32:39 +02:00

45 lines
868 B
Go

package session_test
import (
"testing"
"github.com/alicebob/miniredis/v2"
"github.com/go-redis/redis/v8"
"github.com/stretchr/testify/assert"
"github.com/nais/wonderwall/pkg/session"
)
func TestRedis(t *testing.T) {
crypter := makeCrypter(t)
data := makeData()
encryptedData, err := data.Encrypt(crypter)
assert.NoError(t, err)
s, err := miniredis.Run()
if err != nil {
panic(err)
}
defer s.Close()
client := redis.NewClient(&redis.Options{
Network: "tcp",
Addr: s.Addr(),
})
store := session.NewRedis(client)
key := "key"
write(t, store, key, encryptedData)
decrypted := read(t, store, key, encryptedData, crypter)
decryptedEqual(t, data, decrypted)
data, encryptedData = update(t, store, key, data, crypter)
decrypted = read(t, store, key, encryptedData, crypter)
decryptedEqual(t, data, decrypted)
del(t, store, key)
}