Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
gitpod-io
GitHub Repository: gitpod-io/gitpod
Path: blob/main/components/public-api-server/pkg/oidc/state_jwt_test.go
2500 views
1
// Copyright (c) 2023 Gitpod GmbH. All rights reserved.
2
// Licensed under the GNU Affero General Public License (AGPL).
3
// See License.AGPL.txt in the project root for license information.
4
5
package oidc
6
7
import (
8
"testing"
9
"time"
10
11
"github.com/golang-jwt/jwt/v5"
12
"github.com/stretchr/testify/require"
13
)
14
15
func TestNewStateJWT(t *testing.T) {
16
var (
17
clientConfigID = "test-id"
18
returnURL = "test-url"
19
issuedAt = time.Now()
20
expiry = issuedAt.Add(5 * time.Minute)
21
)
22
token := NewStateJWT(StateParams{
23
ClientConfigID: clientConfigID,
24
ReturnToURL: returnURL,
25
}, issuedAt, expiry)
26
require.Equal(t, jwt.SigningMethodHS256, token.Method)
27
require.Equal(t, &StateClaims{
28
StateParams: StateParams{
29
ClientConfigID: clientConfigID,
30
ReturnToURL: returnURL,
31
},
32
RegisteredClaims: jwt.RegisteredClaims{
33
ExpiresAt: jwt.NewNumericDate(expiry),
34
IssuedAt: jwt.NewNumericDate(issuedAt),
35
},
36
}, token.Claims)
37
}
38
39