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

Method testGetBencodedMessage

test/DHTPingReplyMessageTest.cc:28–53  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

26CPPUNIT_TEST_SUITE_REGISTRATION(DHTPingReplyMessageTest);
27
28void DHTPingReplyMessageTest::testGetBencodedMessage()
29{
30 std::shared_ptr<DHTNode> localNode(new DHTNode());
31 std::shared_ptr<DHTNode> remoteNode(new DHTNode());
32
33 unsigned char tid[DHT_TRANSACTION_ID_LENGTH];
34 util::generateRandomData(tid, DHT_TRANSACTION_ID_LENGTH);
35 std::string transactionID(&tid[0], &tid[DHT_TRANSACTION_ID_LENGTH]);
36
37 unsigned char id[DHT_ID_LENGTH];
38 util::generateRandomData(id, DHT_ID_LENGTH);
39
40 DHTPingReplyMessage msg(localNode, remoteNode, id, transactionID);
41 msg.setVersion("A200");
42 std::string msgbody = msg.getBencodedMessage();
43
44 Dict dict;
45 dict.put("t", transactionID);
46 dict.put("v", "A200");
47 dict.put("y", "r");
48 auto rDict = Dict::g();
49 rDict->put("id", String::g(id, DHT_ID_LENGTH));
50 dict.put("r", std::move(rDict));
51
52 CPPUNIT_ASSERT_EQUAL(bencode2::encode(&dict), msgbody);
53}
54
55} // namespace aria2

Callers

nothing calls this directly

Calls 5

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

Tested by

no test coverage detected