git.iko.soy/typeable/oauth2-proxy
on v3.2.0 help sign in
typeable/oauth2-proxy/cookie/cookies_test.go
43 lines 1.0 kB history raw
1package cookie
3import (
4 "encoding/base64"
5 "testing"
7 "github.com/stretchr/testify/assert"
8)
10func TestEncodeAndDecodeAccessToken(t *testing.T) {
11 const secret = "0123456789abcdefghijklmnopqrstuv"
12 const token = "my access token"
13 c, err := NewCipher([]byte(secret))
14 assert.Equal(t, nil, err)
16 encoded, err := c.Encrypt(token)
17 assert.Equal(t, nil, err)
19 decoded, err := c.Decrypt(encoded)
20 assert.Equal(t, nil, err)
22 assert.NotEqual(t, token, encoded)
23 assert.Equal(t, token, decoded)
26func TestEncodeAndDecodeAccessTokenB64(t *testing.T) {
27 const secretBase64 = "A3Xbr6fu6Al0HkgrP1ztjb-mYiwmxgNPP-XbNsz1WBk="
28 const token = "my access token"
30 secret, err := base64.URLEncoding.DecodeString(secretBase64)
31 assert.Equal(t, nil, err)
32 c, err := NewCipher([]byte(secret))
33 assert.Equal(t, nil, err)
35 encoded, err := c.Encrypt(token)
36 assert.Equal(t, nil, err)
38 decoded, err := c.Decrypt(encoded)
39 assert.Equal(t, nil, err)
41 assert.NotEqual(t, token, encoded)
42 assert.Equal(t, token, decoded)