| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- package token_test
- import (
- "testing"
- "time"
- "github.com/go-test/deep"
- "github.com/porter-dev/porter/internal/auth/token"
- )
- func TestGetAndEncodeTokenForUser(t *testing.T) {
- conf := &token.TokenGeneratorConf{
- TokenSecret: "fakesecret",
- }
- tok, err := token.GetTokenForUser(1)
- if err != nil {
- t.Fatalf("%v\n", err)
- }
- tokString, err := tok.EncodeToken(conf)
- if err != nil {
- t.Fatalf("%v\n", err)
- }
- // decode the token again and compare
- expToken := &token.Token{
- SubKind: token.User,
- Sub: "1",
- IBy: 1,
- }
- gotToken, err := token.GetTokenFromEncoded(tokString, conf)
- if err != nil {
- t.Fatalf("%v\n", err)
- }
- if now := time.Now(); now.Sub(*gotToken.IAt) < 5 && now.Sub(*gotToken.IAt) >= 0 {
- t.Fatalf("time not within threshold: issued at %d, current time %d\n", gotToken.IAt.Unix(), now.Unix())
- }
- gotToken.IAt = nil
- if diff := deep.Equal(expToken, gotToken); diff != nil {
- t.Errorf("tokens not equal:")
- t.Error(diff)
- }
- }
|