27 lines
455 B
Go
27 lines
455 B
Go
package id
|
|
|
|
import (
|
|
"testing"
|
|
"time"
|
|
)
|
|
|
|
func TestWithinSkew(t *testing.T) {
|
|
g, err := New(1)
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
nid, err := g.NextID()
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
if !WithinSkew(nid, time.Now(), DefaultMsgIDSkew) {
|
|
t.Fatal("fresh snowflake")
|
|
}
|
|
if WithinSkew(1, time.Now(), DefaultMsgIDSkew) {
|
|
t.Fatal("tiny id")
|
|
}
|
|
if WithinSkew(nid, time.Now().Add(10*time.Minute), DefaultMsgIDSkew) {
|
|
t.Fatal("outside window")
|
|
}
|
|
}
|