diff --git a/pkg/session/session.go b/pkg/session/session.go index 3f58bff..6235636 100644 --- a/pkg/session/session.go +++ b/pkg/session/session.go @@ -24,6 +24,15 @@ func NewTokenFromV2(tV2 *session.SessionToken) *Token { } // NewToken creates and returns blank Token. +// +// Defaults: +// - body: nil; +// - id: nil; +// - ownerId: nil; +// - sessionKey: nil; +// - exp: 0; +// - iat: 0; +// - nbf: 0; func NewToken() *Token { return NewTokenFromV2(new(session.SessionToken)) } diff --git a/pkg/session/session_test.go b/pkg/session/session_test.go index 1ce07b3..3835f38 100644 --- a/pkg/session/session_test.go +++ b/pkg/session/session_test.go @@ -179,3 +179,24 @@ func TestToken_ToV2(t *testing.T) { require.Nil(t, x.ToV2()) }) } + +func TestNewToken(t *testing.T) { + t.Run("default values", func(t *testing.T) { + token := session.NewToken() + + // check initial values + require.Nil(t, token.Signature()) + require.Nil(t, token.OwnerID()) + require.Nil(t, token.SessionKey()) + require.Nil(t, token.ID()) + require.Zero(t, token.Exp()) + require.Zero(t, token.Iat()) + require.Zero(t, token.Nbf()) + + // convert to v2 message + tokenV2 := token.ToV2() + + require.Nil(t, tokenV2.GetSignature()) + require.Nil(t, tokenV2.GetBody()) + }) +}