| 63 | CPPUNIT_TEST_SUITE_REGISTRATION(DHTGetPeersMessageTest); |
| 64 | |
| 65 | void 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 | |
| 93 | void DHTGetPeersMessageTest::testDoReceivedAction() |
| 94 | { |
nothing calls this directly
no test coverage detected