35 lines
926 B
Go
35 lines
926 B
Go
package middlewares
|
|
|
|
import "testing"
|
|
|
|
func TestGenerateTokenPair(t *testing.T) {
|
|
InitJWT("test-secret", 15, 24, "test-issuer")
|
|
pair, err := GenerateTokenPair(42, "demo")
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
access, err := ParseToken(pair.AccessToken)
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
refresh, err := ParseToken(pair.RefreshToken)
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
if access.TokenType != TokenTypeAccess || refresh.TokenType != TokenTypeRefresh {
|
|
t.Fatalf("unexpected token types: %s, %s", access.TokenType, refresh.TokenType)
|
|
}
|
|
if access.ID == "" || refresh.ID == "" || access.ID == refresh.ID {
|
|
t.Fatal("tokens must have distinct IDs")
|
|
}
|
|
}
|
|
|
|
func TestBearerToken(t *testing.T) {
|
|
if token, err := BearerToken("Bearer abc"); err != nil || token != "abc" {
|
|
t.Fatalf("BearerToken() = %q, %v", token, err)
|
|
}
|
|
if _, err := BearerToken("abc"); err == nil {
|
|
t.Fatal("BearerToken() accepted malformed header")
|
|
}
|
|
}
|