Files
wonderwall/pkg/session/memory_test.go
Trong Huu Nguyen 2ec1b7ace9 feat: encrypt session data
Co-Authored-By: Sindre Rødseth Hansen <sindre.rodseth.hansen@nav.no>
2021-09-30 13:47:29 +02:00

43 lines
907 B
Go

package session_test
import (
"context"
"github.com/nais/liberator/pkg/keygen"
"github.com/nais/wonderwall/pkg/cryptutil"
"testing"
"time"
"github.com/stretchr/testify/assert"
"golang.org/x/oauth2"
"github.com/nais/wonderwall/pkg/session"
)
func TestMemory(t *testing.T) {
key, err := keygen.Keygen(32)
assert.NoError(t, err)
crypter := cryptutil.New(key)
data := &session.Data{
ExternalSessionID: "myid",
OAuth2Token: &oauth2.Token{
AccessToken: "axx",
},
IDTokenSerialized: "idtoken",
}
sess := session.NewMemory(crypter)
err = sess.Write(context.Background(), "key", data, time.Minute)
assert.NoError(t, err)
result, err := sess.Read(context.Background(), "key")
assert.NoError(t, err)
assert.Equal(t, data, result)
err = sess.Delete(context.Background(), "key")
result, err = sess.Read(context.Background(), "key")
assert.Error(t, err)
assert.Nil(t, result)
}