github.com/wrgl/wrgl@v0.14.0/pkg/auth/fs/jwt_test.go (about)

     1  // SPDX-License-Identifier: Apache-2.0
     2  // Copyright © 2022 Wrangle Ltd
     3  
     4  package authfs
     5  
     6  import (
     7  	"testing"
     8  	"time"
     9  
    10  	"github.com/stretchr/testify/assert"
    11  	"github.com/stretchr/testify/require"
    12  	"github.com/wrgl/wrgl/pkg/auth/random"
    13  	"github.com/wrgl/wrgl/pkg/testutils"
    14  )
    15  
    16  func TestIDToken(t *testing.T) {
    17  	sec := []byte(random.RandomAlphaNumericString(10))
    18  	email := "test@domain.com"
    19  	name := "John Doe"
    20  	ts, err := createIDToken(email, name, sec, 100*time.Millisecond)
    21  	require.NoError(t, err)
    22  	c, err := validateIDToken(ts, sec)
    23  	require.NoError(t, err)
    24  	assert.Equal(t, email, c.Email)
    25  	assert.Equal(t, name, c.Name)
    26  	_, err = validateIDToken(ts, testutils.SecureRandomBytes(20))
    27  	assert.Error(t, err)
    28  
    29  	time.Sleep(2 * time.Second)
    30  
    31  	_, err = validateIDToken(ts, sec)
    32  	assert.Error(t, err)
    33  }