github.com/storacha/go-ucanto@v0.7.2/principal/ed25519/verifier/verifier_test.go (about) 1 package verifier 2 3 import ( 4 "crypto/ed25519" 5 "testing" 6 7 "github.com/stretchr/testify/require" 8 ) 9 10 func TestParse(t *testing.T) { 11 str := "did:key:z6MkgZN5cRgWqesJeaZCEs7eKzyQsfpzmhnSEqTL6FZt56Ym" 12 v, err := Parse(str) 13 if err != nil { 14 t.Fatalf("parsing DID: %s", err) 15 } 16 if v.DID().String() != str { 17 t.Fatalf("expected %s to equal %s", v.DID().String(), str) 18 } 19 } 20 21 func TestFromRaw(t *testing.T) { 22 t.Run("round trip", func(t *testing.T) { 23 pub, _, err := ed25519.GenerateKey(nil) 24 require.NoError(t, err) 25 26 v, err := FromRaw(pub) 27 require.NoError(t, err) 28 29 require.Equal(t, pub, ed25519.PublicKey(v.Raw())) 30 }) 31 32 t.Run("invalid length", func(t *testing.T) { 33 _, err := FromRaw([]byte{}) 34 require.Error(t, err) 35 require.ErrorContains(t, err, "invalid length") 36 }) 37 }