public void Test_GetRandomHashID() { var randShaId = DHTId.CreateRandom(); Assert.IsNotNull(randShaId); Assert.AreEqual(20, randShaId.Data.Length); }
public void Test_PeerPingedEventArgs() { IPEndPoint peerEndPoint = new IPEndPoint(IPAddress.Any, 1111); var nodeId = DHTId.CreateRandom(); var evt = new PeerPingedEventArgs(peerEndPoint, nodeId); Assert.IsNotNull(evt); Assert.AreEqual(peerEndPoint, evt.EndPoint); Assert.AreEqual(nodeId, evt.NodeId); }
public void Test_CreateAnnouncePeerResponse() { var tid = DHTTransactions.GetNextId(); var nodeId = DHTId.CreateRandom(); DHTMessage msg = DHTMessage.CreateAnnouncePeerResponse(tid, nodeId, new List <DHTNode>()); Assert.IsNotNull(msg); Assert.AreEqual(MessageType.Response, msg.Type); // TODO: test contents }
public void Test_UpdateNode_DDoS_Protection() { var table = new DHTRoutingTable(10); // do not use nodes with ports below 1024 var node = new DHTNode(DHTId.CreateRandom(), new IPEndPoint(IPAddress.Any, 111)); var result = table.UpdateNode(node); Assert.IsFalse(result); }
public void Test_UpdateNode() { var table = new DHTRoutingTable(10); table.UpdateNode(null); var node = new DHTNode(DHTId.CreateRandom(), new IPEndPoint(IPAddress.Any, 0)); table.UpdateNode(node); }
public void Test_CreateFindNodeQuery() { var tid = DHTTransactions.GetNextId(); var nodeId = DHTId.CreateRandom(); DHTMessage msg = DHTMessage.CreateFindNodeQuery(tid, nodeId, nodeId); Assert.IsNotNull(msg); Assert.AreEqual(MessageType.Query, msg.Type); Assert.AreEqual(QueryType.FindNode, msg.QueryType); // TODO: test contents }
public void Test_MessageEventArgs() { IPEndPoint peerEndPoint = new IPEndPoint(IPAddress.Any, 1111); var nodeId = DHTId.CreateRandom(); BDictionary data = new BDictionary(); var evt = new MessageEventArgs(peerEndPoint, nodeId, data); Assert.IsNotNull(evt); Assert.AreEqual(peerEndPoint, evt.EndPoint); Assert.AreEqual(nodeId, evt.NodeId); Assert.AreEqual(data, evt.Data); }
public void Test_CreateAnnouncePeerQuery() { var tid = DHTTransactions.GetNextId(); var nodeId = DHTId.CreateRandom(); var infoHash = DHTId.CreateRandom(); DHTMessage msg = DHTMessage.CreateAnnouncePeerQuery(tid, nodeId, infoHash, 1, 1, new BString("XX")); Assert.IsNotNull(msg); Assert.AreEqual(MessageType.Query, msg.Type); Assert.AreEqual(QueryType.AnnouncePeer, msg.QueryType); // TODO: test contents }
public void Test_CreateGetPeersResponse() { var tid = DHTTransactions.GetNextId(); var nodeId = DHTId.CreateRandom(); var infoHash = DHTId.CreateRandom(); var peers = new List <IDHTPeer>(); var nodes = new List <DHTNode>(); DHTMessage msg = DHTMessage.CreateGetPeersResponse(tid, nodeId, infoHash, peers, nodes); Assert.IsNotNull(msg); Assert.AreEqual(MessageType.Response, msg.Type); // TODO: test contents }
public void Test_ctor() { var table = new DHTRoutingTable(10); Assert.IsNotNull(table); Assert.AreEqual(0, table.Count); table.Clear(); var randId = DHTId.CreateRandom(); var nodes = table.GetClosest(randId.Data); }
public void Test_DHTNode() { var endPoint = new IPEndPoint(IPAddress.Any, 0); var randId = DHTId.CreateRandom(); var node = new DHTNode(randId, endPoint); Assert.IsNotNull(node); Assert.AreEqual(randId.Data, node.Id.Data); Assert.AreEqual(endPoint, node.EndPoint); Assert.IsNotNullOrEmpty(node.ToString()); Assert.AreEqual(0, node.LastAnnouncementTime); Assert.AreEqual(0, node.LastUpdateTime); }
public void Test_FindNodes() { var table = new DHTRoutingTable(10); var randId = DHTId.CreateRandom(); var nodes = table.GetClosest(randId.Data); Assert.IsNotNull(nodes); Assert.AreEqual(0, nodes.Count); var node = new DHTNode(randId, new IPEndPoint(IPAddress.Any, 6881)); table.UpdateNode(node); nodes = table.GetClosest(randId.Data); Assert.IsNotNull(nodes); Assert.AreEqual(1, nodes.Count); }
public void Test_FindNode() { var table = new DHTRoutingTable(10); var randId = DHTId.CreateRandom(); var nodeEndPoint = new IPEndPoint(IPAddress.Any, 6881); var node = new DHTNode(randId, nodeEndPoint); table.UpdateNode(node); var node2 = table.FindNode(nodeEndPoint); Assert.IsNotNull(node2); node2 = table.FindNode(null); Assert.IsNull(node2); }