github.com/kyma-incubator/compass/components/director@v0.0.0-20230623144113-d764f56ff805/internal/domain/onetimetoken/generator_test.go (about)

     1  package onetimetoken
     2  
     3  import (
     4  	"encoding/base64"
     5  	"testing"
     6  
     7  	"github.com/stretchr/testify/assert"
     8  	"github.com/stretchr/testify/require"
     9  )
    10  
    11  const (
    12  	tokenLength = 10
    13  )
    14  
    15  func TestTokenGenerator_NewToken(t *testing.T) {
    16  	t.Run("should generate token", func(t *testing.T) {
    17  		// GIVEN
    18  		tokenGenerator := NewTokenGenerator(tokenLength)
    19  
    20  		// WHEN
    21  		newToken, apperr := tokenGenerator.NewToken()
    22  
    23  		// then
    24  		require.NoError(t, apperr)
    25  
    26  		decoded, err := base64.URLEncoding.DecodeString(newToken)
    27  		require.NoError(t, err)
    28  
    29  		assert.Equal(t, tokenLength, len(decoded))
    30  	})
    31  }