public void JsonSerialization() { var a = new MultiAddress("/ip6/fe80::7573:b0a8:46b0:0bad/tcp/4009"); string json = JsonConvert.SerializeObject(a); Assert.AreEqual($"\"{a.ToString()}\"", json); var b = JsonConvert.DeserializeObject <MultiAddress>(json); Assert.AreEqual(a.ToString(), b.ToString()); a = null; json = JsonConvert.SerializeObject(a); b = JsonConvert.DeserializeObject <MultiAddress>(json); Assert.IsNull(b); }
public void Ipv6ScopeId_Ignored() { var ma1 = new MultiAddress("/ip6/fe80::7573:b0a8:46b0:0bad%17/tcp/4009"); var ma2 = new MultiAddress("/ip6/fe80::7573:b0a8:46b0:0bad/tcp/4009"); Assert.AreEqual(ma2, ma1); Assert.AreEqual(ma2.ToString(), ma1.ToString()); }
public void FromIPEndpoint() { var ma = new MultiAddress(new IPEndPoint(IPAddress.Loopback, 4001)); Assert.AreEqual("/ip4/127.0.0.1/tcp/4001", ma.ToString()); ma = new MultiAddress(new IPEndPoint(IPAddress.IPv6Loopback, 4002)); Assert.AreEqual("/ip6/::1/tcp/4002", ma.ToString()); }
public void FromIPAddress() { var ma = new MultiAddress(IPAddress.Loopback); Assert.AreEqual("/ip4/127.0.0.1", ma.ToString()); ma = new MultiAddress(IPAddress.IPv6Loopback); Assert.AreEqual("/ip6/::1", ma.ToString()); }
public void RoundTripping() { var addresses = new[] { somewhere, "/ip4/1.2.3.4/tcp/80/http", "/ip6/3ffe:1900:4545:3:200:f8ff:fe21:67cf/tcp/443/https", "/ip6/3ffe:1900:4545:3:200:f8ff:fe21:67cf/udp/8001", "/ip6/3ffe:1900:4545:3:200:f8ff:fe21:67cf/sctp/8001", "/ip6/3ffe:1900:4545:3:200:f8ff:fe21:67cf/dccp/8001", "/ip4/1.2.3.4/tcp/80/ws", "/libp2p-webrtc-star/ip4/127.0.0.1/tcp/9090/ws/ipfs/QmcgpsyWgH8Y8ajJz1Cu72KnS5uo2Aa2LpzU7kinSupNKC", "/ip4/127.0.0.1/tcp/1234/ipfs/QmcgpsyWgH8Y8ajJz1Cu72KnS5uo2Aa2LpzU7kinSupNKC", "/ip4/1.2.3.4/tcp/80/udt", "/ip4/1.2.3.4/tcp/80/utp", "/onion/aaimaq4ygg2iegci:80", "/onion/timaq4ygg2iegci7:80/http", "/p2p-circuit/ipfs/QmcgpsyWgH8Y8ajJz1Cu72KnS5uo2Aa2LpzU7kinSupNKC", "/dns/ipfs.io", "/dns4/ipfs.io", "/dns6/ipfs.io", "/dns4/wss0.bootstrap.libp2p.io/tcp/443/wss/ipfs/QmZMxNdpMkewiVZLMRxaNxUeZpDUb34pWjZ1kZvsd16Zic", "/ip4/127.0.0.0/ipcidr/16", "/p2p/QmNnooDu7bfjPFoTZYxMNLWUQJyrVwtbZg5gBMjTezGAJN", "/ip4/127.0.0.1/udp/4023/quic", }; foreach (var a in addresses) { var ma0 = new MultiAddress(a); var ms = new MemoryStream(); ma0.Write(ms); ms.Position = 0; var ma1 = new MultiAddress(ms); Assert.AreEqual <MultiAddress>(ma0, ma1); var ma2 = new MultiAddress(ma0.ToString()); Assert.AreEqual <MultiAddress>(ma0, ma2); var ma3 = new MultiAddress(ma0.ToArray()); Assert.AreEqual <MultiAddress>(ma0, ma3); } }
public void RoundTripping() { var addresses = new[] { somewhere, "/ip4/1.2.3.4/tcp/80/http", "/ip6/3ffe:1900:4545:3:200:f8ff:fe21:67cf/tcp/443/https", "/ip6/3ffe:1900:4545:3:200:f8ff:fe21:67cf/udp/8001", "/ip6/3ffe:1900:4545:3:200:f8ff:fe21:67cf/sctp/8001", "/ip6/3ffe:1900:4545:3:200:f8ff:fe21:67cf/dccp/8001", "/ip4/1.2.3.4/tcp/80/ws", "/libp2p-webrtc-star/ip4/127.0.0.1/tcp/9090/ws/ipfs/QmcgpsyWgH8Y8ajJz1Cu72KnS5uo2Aa2LpzU7kinSupNKC", "/ip4/127.0.0.1/ipfs/QmcgpsyWgH8Y8ajJz1Cu72KnS5uo2Aa2LpzU7kinSupNKC/tcp/1234", "/ip4/1.2.3.4/tcp/80/udt", "/ip4/1.2.3.4/tcp/80/utp", "/onion/aaimaq4ygg2iegci:80", "/onion/timaq4ygg2iegci7:80/http", }; foreach (var a in addresses) { var ma0 = new MultiAddress(a); var ms = new MemoryStream(); ma0.Write(ms); ms.Position = 0; var ma1 = new MultiAddress(ms); Assert.AreEqual <MultiAddress>(ma0, ma1); var ma2 = new MultiAddress(ma0.ToString()); Assert.AreEqual <MultiAddress>(ma0, ma2); var ma3 = new MultiAddress(ma0.ToArray()); Assert.AreEqual <MultiAddress>(ma0, ma3); } }