diff --git a/tests/peerdiscoverytester.cpp b/tests/peerdiscoverytester.cpp index 4f3b0535a760d0ace3d83148621aa11abad65b16..8f7ae8fcb1c79bf85c4ed22480db41578220acb8 100644 --- a/tests/peerdiscoverytester.cpp +++ b/tests/peerdiscoverytester.cpp @@ -18,6 +18,7 @@ */ #include "peerdiscoverytester.h" +#include "opendht/dhtrunner.h" namespace test { @@ -31,16 +32,24 @@ void PeerDiscoveryTester::testTransmission_ipv4(){ dht::InfoHash data_n = dht::InfoHash::get("applepin"); int port = 2222; in_port_t port_n = 50000; + dht::NetId netid = 10; + msgpack::sbuffer sbuf; + dht::NodeInsertionPack adc; + adc.nid_ = 10; + adc.node_port_ = port_n; + adc.nodeid_ = data_n; + msgpack::pack(sbuf,adc); try{ dht::PeerDiscovery test_n(AF_INET, port); dht::PeerDiscovery test_s(AF_INET, port); try{ - test_s.startDiscovery([&](const dht::InfoHash& node, const dht::SockAddr& addr){ - CPPUNIT_ASSERT_EQUAL(data_n, node); - CPPUNIT_ASSERT_EQUAL(port_n, addr.getPort()); + test_s.startDiscovery([&](std::string& type, msgpack::object&& obj, dht::SockAddr& add){ + auto v = obj.as<dht::NodeInsertionPack>(); + CPPUNIT_ASSERT_EQUAL(v.node_port_, port_n); + CPPUNIT_ASSERT_EQUAL(v.nodeid_, data_n); }); - test_n.startPublish(data_n,port_n); + test_n.startPublish("dht", std::move(sbuf),data_n); std::this_thread::sleep_for(std::chrono::seconds(5)); test_n.stop(); @@ -60,19 +69,26 @@ void PeerDiscoveryTester::testTransmission_ipv6(){ // Node for getnode id dht::InfoHash data_n = dht::InfoHash::get("applepin"); - int port = 3333; - in_port_t port_n = 50001; + int port = 2222; + in_port_t port_n = 50000; + dht::NetId netid = 10; + msgpack::sbuffer sbuf; + dht::NodeInsertionPack adc; + adc.nid_ = 10; + adc.node_port_ = port_n; + adc.nodeid_ = data_n; + msgpack::pack(sbuf,adc); try{ dht::PeerDiscovery test_n(AF_INET6, port); dht::PeerDiscovery test_s(AF_INET6, port); - try{ - test_s.startDiscovery([&](const dht::InfoHash& node, const dht::SockAddr& addr){ - CPPUNIT_ASSERT_EQUAL(data_n, node); - CPPUNIT_ASSERT_EQUAL(port_n, addr.getPort()); + test_s.startDiscovery([&](std::string& type, msgpack::object&& obj, dht::SockAddr& add){ + auto v = obj.as<dht::NodeInsertionPack>(); + CPPUNIT_ASSERT_EQUAL(v.node_port_, port_n); + CPPUNIT_ASSERT_EQUAL(v.nodeid_, data_n); }); - test_n.startPublish(data_n,port_n); + test_n.startPublish("dht", std::move(sbuf),data_n); std::this_thread::sleep_for(std::chrono::seconds(5)); test_n.stop(); @@ -80,9 +96,11 @@ void PeerDiscoveryTester::testTransmission_ipv6(){ test_n.join(); test_s.join(); } catch(std::exception &exception){ + perror(exception.what()); CPPUNIT_ASSERT(false); } - } catch(std::exception &exception) { + } catch(std::exception &exception){ + perror(exception.what()); } }