mirror of
https://github.com/fumiama/fumitok.git
synced 2026-06-10 05:04:17 +08:00
init
This commit is contained in:
42
token_test.go
Normal file
42
token_test.go
Normal file
@@ -0,0 +1,42 @@
|
||||
package fumitok
|
||||
|
||||
import (
|
||||
"crypto/rand"
|
||||
"encoding/hex"
|
||||
"testing"
|
||||
"time"
|
||||
)
|
||||
|
||||
func TestTokenizer(t *testing.T) {
|
||||
var key [32]byte
|
||||
_, err := rand.Read(key[:])
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
tk, err := NewTokenizer(hex.EncodeToString(key[:]))
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
id := uint64(3719371987)
|
||||
token, err := tk.Generate(id, time.Now().Add(time.Minute), 0x1234, 0x00ff)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
t.Log(token)
|
||||
vid, addt, err := tk.Validate(token, 0x00ff)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if vid != id || addt != 0x34 {
|
||||
t.Fatal("id", id, "vid", vid, "addt", addt)
|
||||
}
|
||||
token, err = tk.Generate(id, time.Now().Add(-time.Minute), 0, 0)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
t.Log(token)
|
||||
_, _, err = tk.Validate(token, 0)
|
||||
if err != ErrExpiredToken {
|
||||
t.Fatal("unexpected err", err)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user