@@ -1,6 +1,7 @@
11package redis
22
33import (
4+ "crypto/rand"
45 "net/http"
56 "net/http/httptest"
67 "net/url"
@@ -10,11 +11,19 @@ import (
1011 "github.com/alicebob/miniredis/v2"
1112 "github.com/oauth2-proxy/oauth2-proxy/pkg/apis/options"
1213 "github.com/oauth2-proxy/oauth2-proxy/pkg/apis/sessions"
14+ "github.com/oauth2-proxy/oauth2-proxy/pkg/encryption"
1315 "github.com/stretchr/testify/assert"
1416 "github.com/stretchr/testify/require"
1517)
1618
1719func TestRedisStore(t *testing.T) {
20+ secret := make([]byte, 32)
21+ _, err := rand.Read(secret)
22+ assert.NoError(t, err)
23+
24+ cipher, err := encryption.NewBase64Cipher(encryption.NewCFBCipher, encryption.SecretBytes(string(secret)))
25+ assert.NoError(t, err)
26+
1827 t.Run("save session on redis standalone", func(t *testing.T) {
1928 redisServer, err := miniredis.Run()
2029 require.NoError(t, err)
@@ -25,7 +34,7 @@ func TestRedisStore(t *testing.T) {
2534 Host: redisServer.Addr(),
2635 }
2736 opts.Session.Redis.ConnectionURL = redisURL.String()
28− redisStore, err := NewRedisSessionStore(&opts.Session, &opts.Cookie)
37+ redisStore, err := NewRedisSessionStore(&opts.Session, &opts.Cookie, cipher)
2938 require.NoError(t, err)
3039 err = redisStore.Save(
3140 httptest.NewRecorder(),
@@ -49,7 +58,7 @@ func TestRedisStore(t *testing.T) {
4958 opts.Session.Redis.SentinelConnectionURLs = []string{sentinelURL.String()}
5059 opts.Session.Redis.UseSentinel = true
5160 opts.Session.Redis.SentinelMasterName = sentinel.MasterInfo().Name
52− redisStore, err := NewRedisSessionStore(&opts.Session, &opts.Cookie)
61+ redisStore, err := NewRedisSessionStore(&opts.Session, &opts.Cookie, cipher)
5362 require.NoError(t, err)
5463 err = redisStore.Save(
5564 httptest.NewRecorder(),