Replaced legacy `*.orly` module imports with `next.orly.dev/pkg` paths across the codebase for consistency. Removed legacy `go.mod` files from sub-packages, consolidating dependency management. Added Dockerfiles and configurations for benchmarking environments.
35 lines
675 B
Go
35 lines
675 B
Go
package auth
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"lol.mleku.dev/chk"
|
|
"lol.mleku.dev/log"
|
|
"next.orly.dev/pkg/crypto/p256k"
|
|
)
|
|
|
|
func TestCreateUnsigned(t *testing.T) {
|
|
var err error
|
|
signer := new(p256k.Signer)
|
|
if err = signer.Generate(); chk.E(err) {
|
|
t.Fatal(err)
|
|
}
|
|
var ok bool
|
|
const relayURL = "wss://example.com"
|
|
for range 100 {
|
|
challenge := GenerateChallenge()
|
|
ev := CreateUnsigned(signer.Pub(), challenge, relayURL)
|
|
if err = ev.Sign(signer); chk.E(err) {
|
|
t.Fatal(err)
|
|
}
|
|
log.I.S(ev)
|
|
if ok, err = Validate(ev, challenge, relayURL); chk.E(err) {
|
|
t.Fatal(err)
|
|
}
|
|
if !ok {
|
|
bb := ev.Marshal(nil)
|
|
t.Fatalf("failed to validate auth event\n%s", bb)
|
|
}
|
|
}
|
|
}
|