public async Task ProcessGetProvidersMessage_HasProvider() { var swarm = new SwarmService { LocalPeer = self }; var dht = new DhtService { SwarmService = swarm }; await dht.StartAsync(); try { swarm.RegisterPeer(other); Cid cid = "zBunRGrmCGokA1oMESGGTfrtcMFsVA8aEtcNzM54akPWXF97uXCqTjF3GZ9v8YzxHrG66J8QhtPFWwZebRZ2zeUEELu67"; dht.ContentRouter.Add(cid, other.Id); var request = new DhtMessage { Type = MessageType.GetProviders, Key = cid.Hash.ToArray() }; var response = dht.ProcessGetProviders(request, new DhtMessage()); Assert.AreEqual(1, response.ProviderPeers.Length); response.ProviderPeers[0].TryToPeer(out var found); Assert.AreEqual(other, found); Assert.AreNotEqual(0, found.Addresses.Count()); } finally { await dht.StopAsync(); } }
public async Task ProcessGetProvidersMessage_HasCloserPeers() { var swarm = new SwarmService { LocalPeer = self }; var dht = new DhtService { SwarmService = swarm }; await dht.StartAsync(); try { dht.RoutingTable.Add(other); Cid cid = "zBunRGrmCGokA1oMESGGTfrtcMFsVA8aEtcNzM54akPWXF97uXCqTjF3GZ9v8YzxHrG66J8QhtPFWwZebRZ2zeUEELu67"; var request = new DhtMessage { Type = MessageType.GetProviders, Key = cid.Hash.ToArray() }; var response = dht.ProcessGetProviders(request, new DhtMessage()); Assert.AreNotEqual(0, response.CloserPeers.Length); } finally { await dht.StopAsync(); } }