27 lines
588 B
Go
27 lines
588 B
Go
package subordinate
|
|
|
|
import "testing"
|
|
|
|
func TestGenerateInviteTokenFormat(t *testing.T) {
|
|
raw, hash, err := GenerateInviteToken()
|
|
if err != nil {
|
|
t.Fatalf("GenerateInviteToken error: %v", err)
|
|
}
|
|
|
|
if len(raw) != inviteTokenLength {
|
|
t.Fatalf("unexpected token length: got %d, want %d", len(raw), inviteTokenLength)
|
|
}
|
|
|
|
for _, ch := range raw {
|
|
isUpper := ch >= 'A' && ch <= 'Z'
|
|
isDigit := ch >= '0' && ch <= '9'
|
|
if !isUpper && !isDigit {
|
|
t.Fatalf("token contains invalid char: %q", ch)
|
|
}
|
|
}
|
|
|
|
if hash != HashInviteToken(raw) {
|
|
t.Fatalf("hash mismatch for token")
|
|
}
|
|
}
|