Files
sxchnge/backend/internal/credential/token_test.go
T

25 lines
586 B
Go

package credential
import (
"encoding/base64"
"testing"
)
func TestOpaqueCredential(t *testing.T) {
raw, digest, err := New()
if err != nil {
t.Fatal(err)
}
decoded, err := base64.RawURLEncoding.DecodeString(raw)
if err != nil || len(decoded) != 32 {
t.Fatal("credential must contain 256 random bits")
}
if raw == digest || !Matches(raw, digest) || Matches("other", digest) || Matches("", Digest("")) {
t.Fatal("invalid digest matching behavior")
}
other, _, err := New()
if err != nil || other == raw {
t.Fatal("credentials must be independently generated")
}
}