| 26 | CPPUNIT_TEST_SUITE_REGISTRATION(DHTAnnouncePeerReplyMessageTest); |
| 27 | |
| 28 | void DHTAnnouncePeerReplyMessageTest::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 | DHTAnnouncePeerReplyMessage msg(localNode, remoteNode, transactionID); |
| 38 | msg.setVersion("A200"); |
| 39 | std::string msgbody = msg.getBencodedMessage(); |
| 40 | |
| 41 | Dict dict; |
| 42 | dict.put("t", transactionID); |
| 43 | dict.put("v", "A200"); |
| 44 | dict.put("y", "r"); |
| 45 | auto rDict = Dict::g(); |
| 46 | rDict->put("id", String::g(localNode->getID(), DHT_ID_LENGTH)); |
| 47 | dict.put("r", std::move(rDict)); |
| 48 | |
| 49 | CPPUNIT_ASSERT_EQUAL(bencode2::encode(&dict), msgbody); |
| 50 | } |
| 51 | |
| 52 | } // namespace aria2 |
nothing calls this directly
no test coverage detected