mirror of
https://github.com/libp2p/go-libp2p-peerstore.git
synced 2025-03-24 13:10:06 +08:00
add marshal unittest #393
This commit is contained in:
parent
ab8c6cbfd1
commit
de5683cb85
@ -1,6 +1,7 @@
|
||||
package peerstore
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"testing"
|
||||
|
||||
"github.com/libp2p/go-libp2p-peer"
|
||||
@ -57,6 +58,88 @@ func TestPeerInfoMarshal(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestPeerInfoMarshalWithPointer(t *testing.T) {
|
||||
a := mustAddr(t, "/ip4/1.2.3.4/tcp/4536")
|
||||
b := mustAddr(t, "/ip4/1.2.3.8/udp/7777")
|
||||
id, err := peer.IDB58Decode("QmaCpDMGvV2BGHeYERUEnRQAwe3N8SzbUtfsmvsqQLuvuJ")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
pi := PeerInfo{
|
||||
ID: id,
|
||||
Addrs: []ma.Multiaddr{a, b},
|
||||
}
|
||||
|
||||
data, err := json.Marshal(&pi)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
pi2 := new(PeerInfo)
|
||||
if err := json.Unmarshal(data, pi2); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
if pi2.ID != pi.ID {
|
||||
t.Fatal("ids didnt match after marshal")
|
||||
}
|
||||
|
||||
if !pi.Addrs[0].Equal(pi2.Addrs[0]) {
|
||||
t.Fatal("wrong addrs")
|
||||
}
|
||||
|
||||
if !pi.Addrs[1].Equal(pi2.Addrs[1]) {
|
||||
t.Fatal("wrong addrs")
|
||||
}
|
||||
|
||||
lgbl := pi2.Loggable()
|
||||
if lgbl["peerID"] != id.Pretty() {
|
||||
t.Fatal("loggables gave wrong peerID output")
|
||||
}
|
||||
}
|
||||
|
||||
func TestPeerInfoMarshalWithValue(t *testing.T) {
|
||||
a := mustAddr(t, "/ip4/1.2.3.4/tcp/4536")
|
||||
b := mustAddr(t, "/ip4/1.2.3.8/udp/7777")
|
||||
id, err := peer.IDB58Decode("QmaCpDMGvV2BGHeYERUEnRQAwe3N8SzbUtfsmvsqQLuvuJ")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
pi := PeerInfo{
|
||||
ID: id,
|
||||
Addrs: []ma.Multiaddr{a, b},
|
||||
}
|
||||
|
||||
data, err := json.Marshal(pi)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
pi2 := new(PeerInfo)
|
||||
if err := json.Unmarshal(data, pi2); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
if pi2.ID != pi.ID {
|
||||
t.Fatal("ids didnt match after marshal")
|
||||
}
|
||||
|
||||
if !pi.Addrs[0].Equal(pi2.Addrs[0]) {
|
||||
t.Fatal("wrong addrs")
|
||||
}
|
||||
|
||||
if !pi.Addrs[1].Equal(pi2.Addrs[1]) {
|
||||
t.Fatal("wrong addrs")
|
||||
}
|
||||
|
||||
lgbl := pi2.Loggable()
|
||||
if lgbl["peerID"] != id.Pretty() {
|
||||
t.Fatal("loggables gave wrong peerID output")
|
||||
}
|
||||
}
|
||||
|
||||
func TestP2pAddrParsing(t *testing.T) {
|
||||
id, err := peer.IDB58Decode("QmaCpDMGvV2BGHeYERUEnRQAwe3N8SzbUtfsmvsqQLuvuJ")
|
||||
if err != nil {
|
||||
|
Loading…
Reference in New Issue
Block a user