| 26 | CPPUNIT_TEST_SUITE_REGISTRATION(DHTPingReplyMessageTest); |
| 27 | |
| 28 | void 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 |
nothing calls this directly
no test coverage detected