public async Task Listening_Start_Stop() { var peer = new Peer { Id = self.Id, PublicKey = self.PublicKey, AgentVersion = self.AgentVersion }; MultiAddress addr = "/ip4/0.0.0.0/tcp/0"; var swarm = new Swarm { LocalPeer = peer }; await swarm.StartAsync(); try { await swarm.StartListeningAsync(addr); Assert.IsTrue(peer.Addresses.Count() > 0); await swarm.StopListeningAsync(addr); Assert.AreEqual(0, peer.Addresses.Count()); await swarm.StartListeningAsync(addr); Assert.IsTrue(peer.Addresses.Count() > 0); await swarm.StopListeningAsync(addr); Assert.AreEqual(0, peer.Addresses.Count()); } finally { await swarm.StopAsync(); } }
public async Task Listening_IPv6Any() { var peerA = new Peer { Id = self.Id, PublicKey = self.PublicKey, AgentVersion = self.AgentVersion }; MultiAddress addr = "/ip6/::/tcp/0"; var swarmA = new Swarm { LocalPeer = peerA }; var peerB = new Peer { Id = other.Id, PublicKey = other.PublicKey, AgentVersion = other.AgentVersion }; var swarmB = new Swarm { LocalPeer = peerB }; await swarmA.StartAsync(); await swarmB.StartAsync(); try { var another = await swarmA.StartListeningAsync(addr); Assert.IsFalse(peerA.Addresses.Contains(addr)); Assert.IsTrue(peerA.Addresses.Contains(another)); await swarmB.ConnectAsync(another); Assert.IsTrue(swarmB.KnownPeers.Contains(peerA)); // TODO: Assert.IsTrue(swarmA.KnownPeers.Contains(peerB)); await swarmA.StopListeningAsync(addr); Assert.AreEqual(0, peerA.Addresses.Count()); } finally { await swarmA.StopAsync(); await swarmB.StopAsync(); } }