36 lines
645 B
Go
36 lines
645 B
Go
package util
|
|
|
|
import "regexp"
|
|
import "testing"
|
|
|
|
func TestNewIDFormat(t *testing.T) {
|
|
var id string
|
|
var err error
|
|
var re *regexp.Regexp
|
|
re = regexp.MustCompile("^[0-9a-f]{32}$")
|
|
id, err = NewID()
|
|
if err != nil {
|
|
t.Fatalf("NewID() error: %v", err)
|
|
}
|
|
if !re.MatchString(id) {
|
|
t.Fatalf("invalid id format: %s", id)
|
|
}
|
|
}
|
|
|
|
func TestNewIDUniqueness(t *testing.T) {
|
|
var a string
|
|
var b string
|
|
var err error
|
|
a, err = NewID()
|
|
if err != nil {
|
|
t.Fatalf("NewID() error for first id: %v", err)
|
|
}
|
|
b, err = NewID()
|
|
if err != nil {
|
|
t.Fatalf("NewID() error for second id: %v", err)
|
|
}
|
|
if a == b {
|
|
t.Fatalf("ids must differ: %s", a)
|
|
}
|
|
}
|