github.com/hellofresh/janus@v0.0.0-20230925145208-ce8de8183c67/pkg/jwt/token_test.go (about)

     1  package jwt
     2  
     3  import (
     4  	"testing"
     5  	"time"
     6  
     7  	"github.com/dgrijalva/jwt-go"
     8  	"github.com/stretchr/testify/assert"
     9  	"github.com/stretchr/testify/require"
    10  )
    11  
    12  func TestIssueAdminToken(t *testing.T) {
    13  	alg := "HS256"
    14  	key := time.Now().Format(time.RFC3339Nano)
    15  	claimsID := time.Now().Format(time.RFC3339Nano)
    16  
    17  	accessToken, err := IssueAdminToken(SigningMethod{alg, key}, jwt.MapClaims{"id": claimsID}, time.Hour)
    18  	require.NoError(t, err)
    19  
    20  	config := NewParserConfig(0, SigningMethod{Alg: alg, Key: key})
    21  	parser := NewParser(config)
    22  
    23  	token, err := parser.Parse(accessToken.Token)
    24  	require.NoError(t, err)
    25  
    26  	claims, ok := parser.GetMapClaims(token)
    27  	assert.True(t, ok)
    28  	assert.Equal(t, claimsID, claims["id"])
    29  }