code.gitea.io/gitea@v1.22.3/modules/generate/generate_test.go (about) 1 // Copyright 2024 The Gitea Authors. All rights reserved. 2 // SPDX-License-Identifier: MIT 3 4 package generate 5 6 import ( 7 "encoding/base64" 8 "strings" 9 "testing" 10 11 "github.com/stretchr/testify/assert" 12 ) 13 14 func TestDecodeJwtSecretBase64(t *testing.T) { 15 _, err := DecodeJwtSecretBase64("abcd") 16 assert.ErrorContains(t, err, "invalid base64 decoded length") 17 _, err = DecodeJwtSecretBase64(strings.Repeat("a", 64)) 18 assert.ErrorContains(t, err, "invalid base64 decoded length") 19 20 str32 := strings.Repeat("x", 32) 21 encoded32 := base64.RawURLEncoding.EncodeToString([]byte(str32)) 22 decoded32, err := DecodeJwtSecretBase64(encoded32) 23 assert.NoError(t, err) 24 assert.Equal(t, str32, string(decoded32)) 25 } 26 27 func TestNewJwtSecretWithBase64(t *testing.T) { 28 secret, encoded, err := NewJwtSecretWithBase64() 29 assert.NoError(t, err) 30 assert.Len(t, secret, 32) 31 decoded, err := DecodeJwtSecretBase64(encoded) 32 assert.NoError(t, err) 33 assert.Equal(t, secret, decoded) 34 }