package ipns import ( "testing" "time" u "github.com/ipfs/go-ipfs-util" ci "github.com/libp2p/go-libp2p-crypto" peer "github.com/libp2p/go-libp2p-peer" ) func TestEmbedPublicKey(t *testing.T) { sr := u.NewTimeSeededRand() priv, pub, err := ci.GenerateKeyPairWithReader(ci.RSA, 1024, sr) if err != nil { t.Fatal(err) } pid, err := peer.IDFromPublicKey(pub) if err != nil { t.Fatal(err) } e, err := Create(priv, []byte("/a/b"), 0, time.Now().Add(1*time.Hour)) if err != nil { t.Fatal(err) } if err := EmbedPublicKey(pub, e); err != nil { t.Fatal(err) } embeddedPk, err := ci.UnmarshalPublicKey(e.PubKey) if err != nil { t.Fatal(err) } embeddedPid, err := peer.IDFromPublicKey(embeddedPk) if err != nil { t.Fatal(err) } if embeddedPid != pid { t.Fatalf("pid mismatch: %s != %s", pid, embeddedPid) } }