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") } }