@@ -10,6 +10,53 @@ import (
1010 "golang.org/x/mod/sumdb/note"
1111)
1212
13+ func TestSignerVerifier (t * testing.T ) {
14+ ns , nv , err := note .GenerateKey (nil , "note" )
15+ if err != nil {
16+ t .Fatalf ("note.GenerateKey: %v" , err )
17+ }
18+ ms , mv , err := GenerateMLDSAKey ("mldsa" )
19+ if err != nil {
20+ t .Fatalf ("GenerateMLDSAKey: %v" , err )
21+ }
22+
23+ for _ , test := range []struct {
24+ name string
25+ s string
26+ v string
27+ } {
28+ {name : "note" , s : ns , v : nv },
29+ {name : "mldsa" , s : ms , v : mv },
30+ } {
31+ t .Run (test .name , func (t * testing.T ) {
32+ ns , err := NewSigner (test .s )
33+ if err != nil {
34+ t .Fatalf ("NewSigner: %v" , err )
35+ }
36+ nv , err := NewVerifier (test .v )
37+ if err != nil {
38+ t .Fatalf ("NewVerifier: %v" , err )
39+ }
40+ checkRoundTrip (t , fmt .Sprintf ("%s\n 0\n blah\n " , test .name ), ns , nv )
41+ })
42+ }
43+ }
44+
45+ func checkRoundTrip (t * testing.T , msg string , s note.Signer , v note.Verifier ) {
46+ t .Helper ()
47+ signed , err := note .Sign (& note.Note {Text : msg }, s )
48+ if err != nil {
49+ t .Errorf ("%s failed to sign: %v" , msg , err )
50+ }
51+ n , err := note .Open (signed , note .VerifierList (v ))
52+ if err != nil {
53+ t .Errorf ("%s failed to open: %v" , msg , err )
54+ }
55+ if n .Text != msg {
56+ t .Errorf ("got %q want %q" , n .Text , msg )
57+ }
58+ }
59+
1360func TestNoteInterop (t * testing.T ) {
1461 sk , vk , err := note .GenerateKey (nil , "example" )
1562 if err != nil {
@@ -37,21 +84,7 @@ func TestNoteInterop(t *testing.T) {
3784 for i , s := range []note.Signer {sf , sn } {
3885 for j , v := range []note.Verifier {vf , vn } {
3986 msg := fmt .Sprintf ("%d, %d\n " , i , j )
40- signed , err := note .Sign (& note.Note {Text : msg }, s )
41- if err != nil {
42- t .Errorf ("%s failed to sign: %v" , msg , err )
43- continue
44- }
45-
46- n , err := note .Open (signed , note .VerifierList (v ))
47- if err != nil {
48- t .Errorf ("%s failed to open: %v" , msg , err )
49- continue
50- }
51-
52- if n .Text != msg {
53- t .Errorf ("got %q want %q" , n .Text , msg )
54- }
87+ checkRoundTrip (t , msg , s , v )
5588 }
5689 }
5790}
0 commit comments