Add JWT generation, creation and validation along with tests

- from arieshi255/SnowcloakUtils
This commit is contained in:
2025-08-31 23:40:23 -04:00
parent a6a3fe8ec2
commit bc8e7d08f2
5 changed files with 166 additions and 0 deletions

44
jwt/jwt_test.go Normal file
View File

@@ -0,0 +1,44 @@
package jwt
import (
"SnowcloakUtils/global"
"fmt"
"testing"
)
func TestCreateAndValidateToken(t *testing.T) {
fmt.Println("Test: token creation")
token1 := CreateToken(&SnowcloakClaimTypes{Uid: "0", CharaIdent: "test1", Alias: "myAlias1", Continent: "EU"}, "teststringteststringteststringteststringteststringteststringteststringteststringteststringteststring")
fmt.Println(token1)
fmt.Println("Test: token validation")
fmt.Println(ValidateToken(token1, "teststringteststringteststringteststringteststringteststringteststringteststringteststringteststring"))
fmt.Println("Test: bad token creation")
token2 := CreateToken(&SnowcloakClaimTypes{Uid: "423235", CharaIdent: "test1", Alias: "myAlias", Continent: "EU"}, "teststringteststringteststringteststringteststringteststringteststringteststringteststringteststring")
fmt.Println(token2)
fmt.Println("Test: bad token validation")
badValidate := ValidateToken(token2, "dGVzdHRlc3Rpbmd0dGVzdGluZw==")
if badValidate != nil {
t.Errorf("Token wasn't invalid")
} else {
fmt.Println("Didn't validate invalid token")
}
}
func TestGenerateToken(t *testing.T) {
tokenProvider := NewTokenProvider(&global.SnowcloakConfigurationBase{Jwt: "teststringteststringteststringteststringteststringteststringteststringteststringteststringteststring"})
fmt.Println("Test: token generation")
fmt.Println(tokenProvider.GenerateToken("shard2", "teststringteststringteststringteststringteststringteststringteststringteststringteststringteststring"))
fmt.Println("Test: get cached token")
fmt.Println(tokenProvider.Token())
fmt.Println("Test: update token")
fmt.Println(tokenProvider.GenerateToken("shard3", "teststringteststringteststringteststringteststringteststringteststringteststringteststringteststring"))
fmt.Println("Test: get updated token")
fmt.Println(tokenProvider.Token())
fmt.Println("Test: create bad token")
fmt.Println(tokenProvider.GenerateToken("shard4", "dGVzdHRlc3Rpbmd0dGVzdGluZw=="))
fmt.Println("Test: get bad token")
fmt.Println(tokenProvider.Token())
fmt.Println("Test: validate cached token")
fmt.Println(ValidateToken(tokenProvider.Token(), "teststringteststringteststringteststringteststringteststringteststringteststringteststringteststring"))
}