HomeNav/middleware/JWT_test.go

51 lines
1.3 KiB
Go

package middleware
import (
"fmt"
"testing"
)
var err error
var secret string = "1234567890"
var token string = "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6InpoYW5nc2FuIiwiaWF0IjoxNjIyNjQwMDAwfQ"
var signature string
var jwt string = "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6InpoYW5nc2FuIiwiaWF0IjoxNjIyNjQwMDAwfQ.Trk6LMpzsyvNLaqWn2FEXEpB5PRyQjo600NoU6LARMo"
func TestBase64Encode(t *testing.T) {
result := base64Encode([]byte("test"))
expected := "dGVzdA"
if result != expected {
t.Errorf("Expected %s, but got %s", expected, result)
}
}
func TestCreateToken(t *testing.T) {
token, err = createToken("12345678920", "zhangsan", 1622640000)
println(token)
if err != nil {
t.Errorf("Expected nil, but got error %s", err)
}
if token == "" {
t.Errorf("Expected token, but got empty string")
}
}
func TestSignToken(t *testing.T) {
signature, err = signToken(token, secret)
jwt = fmt.Sprintf("%s.%s", token, signature)
println(jwt)
if err != nil {
t.Errorf("Expected nil, but got error %s", err)
}
if signature == "" {
t.Errorf("Expected signature, but got empty string")
}
}
func TestVerifyToken(t *testing.T) {
isValid := verifyToken(jwt, secret)
if !isValid {
t.Errorf("Expected true, but got false")
}
}