Guest User

Untitled

a guest
Apr 25th, 2018
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.08 KB | None | 0 0
  1. package kademlia
  2.  
  3. import "testing"
  4.  
  5. func TestPing(t *testing.T) {
  6. me := Contact{NewRandomNodeID(), "127.0.0.1:8989"};
  7. k := NewKademlia(&me, "test");
  8. k.Serve();
  9.  
  10. someone := Contact{NewRandomNodeID(), "127.0.0.1:8989"};
  11. if err := k.Call(
  12. &someone,
  13. "KademliaCore.Ping",
  14. &PingRequest{RPCHeader{&someone, k.NetworkId}},
  15. &PingResponse{}); err != nil {
  16. t.Error(err);
  17. }
  18. }
  19.  
  20. func TestFindNode(t *testing.T) {
  21. me := Contact{NewRandomNodeID(), "127.0.0.1:8989"};
  22. k := NewKademlia(&me, "test");
  23. kc := KademliaCore{k};
  24.  
  25. var contacts [100]Contact;
  26. for i := 0; i < len(contacts); i++ {
  27. contacts[i] = Contact{NewRandomNodeID(), "127.0.0.1:8989"};
  28. if err := kc.Ping(&PingRequest{RPCHeader{&contacts[i], k.NetworkId}},
  29. &PingResponse{}); err != nil {
  30. t.Error(err);
  31. }
  32. }
  33.  
  34. args := FindNodeRequest{RPCHeader{&contacts[0], k.NetworkId}, contacts[0].id};
  35. response := FindNodeResponse{};
  36. if err := kc.FindNode(&args, &response); err != nil {
  37. t.Error(err);
  38. }
  39.  
  40. if len(response.contacts) != BucketSize {
  41. t.Fail();
  42. }
  43. }
Add Comment
Please, Sign In to add comment