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

Method testGetBencodedMessage

test/DHTGetPeersMessageTest.cc:65–91  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

63CPPUNIT_TEST_SUITE_REGISTRATION(DHTGetPeersMessageTest);
64
65void DHTGetPeersMessageTest::testGetBencodedMessage()
66{
67 unsigned char tid[DHT_TRANSACTION_ID_LENGTH];
68 util::generateRandomData(tid, DHT_TRANSACTION_ID_LENGTH);
69 std::string transactionID(&tid[0], &tid[DHT_TRANSACTION_ID_LENGTH]);
70
71 unsigned char infoHash[DHT_ID_LENGTH];
72 util::generateRandomData(infoHash, DHT_ID_LENGTH);
73
74 DHTGetPeersMessage msg(localNode_, remoteNode_, infoHash, transactionID);
75 msg.setVersion("A200");
76
77 std::string msgbody = msg.getBencodedMessage();
78
79 Dict dict;
80 dict.put("t", transactionID);
81 dict.put("v", "A200");
82 dict.put("y", "q");
83 dict.put("q", "get_peers");
84 auto aDict = Dict::g();
85 aDict->put("id", String::g(localNode_->getID(), DHT_ID_LENGTH));
86 aDict->put("info_hash", String::g(infoHash, DHT_ID_LENGTH));
87 dict.put("a", std::move(aDict));
88
89 CPPUNIT_ASSERT_EQUAL(util::percentEncode(bencode2::encode(&dict)),
90 util::percentEncode(msgbody));
91}
92
93void DHTGetPeersMessageTest::testDoReceivedAction()
94{

Callers

nothing calls this directly

Calls 7

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

Tested by

no test coverage detected