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

Method testGetBencodedMessage

test/DHTAnnouncePeerMessageTest.cc:52–83  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

50CPPUNIT_TEST_SUITE_REGISTRATION(DHTAnnouncePeerMessageTest);
51
52void DHTAnnouncePeerMessageTest::testGetBencodedMessage()
53{
54 unsigned char tid[DHT_TRANSACTION_ID_LENGTH];
55 util::generateRandomData(tid, DHT_TRANSACTION_ID_LENGTH);
56 std::string transactionID(&tid[0], &tid[DHT_TRANSACTION_ID_LENGTH]);
57
58 unsigned char infoHash[DHT_ID_LENGTH];
59 util::generateRandomData(infoHash, DHT_ID_LENGTH);
60
61 std::string token = "token";
62 uint16_t port = 6881;
63
64 DHTAnnouncePeerMessage msg(localNode_, remoteNode_, infoHash, port, token,
65 transactionID);
66 msg.setVersion("A200");
67 std::string msgbody = msg.getBencodedMessage();
68
69 Dict dict;
70 dict.put("t", transactionID);
71 dict.put("v", "A200");
72 dict.put("y", "q");
73 dict.put("q", "announce_peer");
74 auto aDict = Dict::g();
75 aDict->put("id", String::g(localNode_->getID(), DHT_ID_LENGTH));
76 aDict->put("info_hash", String::g(infoHash, DHT_ID_LENGTH));
77 aDict->put("port", Integer::g(port));
78 aDict->put("token", token);
79 dict.put("a", std::move(aDict));
80
81 CPPUNIT_ASSERT_EQUAL(util::percentEncode(bencode2::encode(&dict)),
82 util::percentEncode(msgbody));
83}
84
85void DHTAnnouncePeerMessageTest::testDoReceivedAction()
86{

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