MCPcopy Create free account
hub / github.com/aria2/aria2 / testGetBencodedMessage

Method testGetBencodedMessage

test/DHTFindNodeMessageTest.cc:55–79  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

53CPPUNIT_TEST_SUITE_REGISTRATION(DHTFindNodeMessageTest);
54
55void DHTFindNodeMessageTest::testGetBencodedMessage()
56{
57 unsigned char tid[DHT_TRANSACTION_ID_LENGTH];
58 util::generateRandomData(tid, DHT_TRANSACTION_ID_LENGTH);
59 std::string transactionID(&tid[0], &tid[DHT_TRANSACTION_ID_LENGTH]);
60
61 auto targetNode = std::make_shared<DHTNode>();
62
63 DHTFindNodeMessage msg(localNode_, remoteNode_, targetNode->getID(),
64 transactionID);
65 msg.setVersion("A200");
66 std::string msgbody = msg.getBencodedMessage();
67
68 Dict dict;
69 dict.put("t", transactionID);
70 dict.put("v", "A200");
71 dict.put("y", "q");
72 dict.put("q", "find_node");
73 auto aDict = Dict::g();
74 aDict->put("id", String::g(localNode_->getID(), DHT_ID_LENGTH));
75 aDict->put("target", String::g(targetNode->getID(), DHT_ID_LENGTH));
76 dict.put("a", std::move(aDict));
77
78 CPPUNIT_ASSERT_EQUAL(bencode2::encode(&dict), msgbody);
79}
80
81void DHTFindNodeMessageTest::testDoReceivedAction()
82{

Callers

nothing calls this directly

Calls 6

generateRandomDataFunction · 0.85
getIDMethod · 0.80
getBencodedMessageMethod · 0.80
encodeFunction · 0.50
setVersionMethod · 0.45
putMethod · 0.45

Tested by

no test coverage detected