You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
34 lines
694 B
34 lines
694 B
package auth |
|
|
|
import ( |
|
"testing" |
|
|
|
"lol.mleku.dev/chk" |
|
"lol.mleku.dev/log" |
|
p256k1signer "p256k1.mleku.dev/signer" |
|
) |
|
|
|
func TestCreateUnsigned(t *testing.T) { |
|
var err error |
|
signer := p256k1signer.NewP256K1Signer() |
|
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) |
|
} |
|
} |
|
}
|
|
|