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  }