mirror of
https://github.com/aria2/aria2.git
synced 2025-02-26 08:22:11 +00:00
Moved generateRandomData to Util.cc Moved flipBit to bitfield.cc. Moved generateRandomKey to bittorrent_helper.cc. * src/DHTBucket.cc * src/DHTGetPeersMessage.cc * src/DHTGetPeersReplyMessage.cc * src/DHTMessage.cc * src/DHTNode.cc * src/DHTTokenTracker.cc * src/DHTUtil.cc: Removed. * src/DHTUtil.h: Removed. * src/Makefile.am * src/Util.cc * src/Util.h * src/bitfield.h * src/bittorrent_helper.cc * src/bittorrent_helper.h * test/ARC4Test.cc * test/BNodeTest.cc * test/DHTAnnouncePeerMessageTest.cc * test/DHTAnnouncePeerReplyMessageTest.cc * test/DHTFindNodeMessageTest.cc * test/DHTFindNodeReplyMessageTest.cc * test/DHTGetPeersMessageTest.cc * test/DHTGetPeersReplyMessageTest.cc * test/DHTPingMessageTest.cc * test/DHTPingReplyMessageTest.cc * test/DHTTokenTrackerTest.cc * test/DHTUtilTest.cc: Removed. * test/Makefile.am * test/UtilTest.cc
55 lines
1.3 KiB
C++
55 lines
1.3 KiB
C++
#include "DHTPingReplyMessage.h"
|
|
|
|
#include <cppunit/extensions/HelperMacros.h>
|
|
|
|
#include "DHTNode.h"
|
|
#include "Exception.h"
|
|
#include "Util.h"
|
|
#include "bencode.h"
|
|
|
|
namespace aria2 {
|
|
|
|
class DHTPingReplyMessageTest:public CppUnit::TestFixture {
|
|
|
|
CPPUNIT_TEST_SUITE(DHTPingReplyMessageTest);
|
|
CPPUNIT_TEST(testGetBencodedMessage);
|
|
CPPUNIT_TEST_SUITE_END();
|
|
public:
|
|
void setUp() {}
|
|
|
|
void tearDown() {}
|
|
|
|
void testGetBencodedMessage();
|
|
};
|
|
|
|
|
|
CPPUNIT_TEST_SUITE_REGISTRATION(DHTPingReplyMessageTest);
|
|
|
|
void DHTPingReplyMessageTest::testGetBencodedMessage()
|
|
{
|
|
SharedHandle<DHTNode> localNode(new DHTNode());
|
|
SharedHandle<DHTNode> remoteNode(new DHTNode());
|
|
|
|
unsigned char tid[DHT_TRANSACTION_ID_LENGTH];
|
|
util::generateRandomData(tid, DHT_TRANSACTION_ID_LENGTH);
|
|
std::string transactionID(&tid[0], &tid[DHT_TRANSACTION_ID_LENGTH]);
|
|
|
|
unsigned char id[DHT_ID_LENGTH];
|
|
util::generateRandomData(id, DHT_ID_LENGTH);
|
|
|
|
DHTPingReplyMessage msg(localNode, remoteNode, id, transactionID);
|
|
|
|
std::string msgbody = msg.getBencodedMessage();
|
|
|
|
BDE dict = BDE::dict();
|
|
dict["t"] = transactionID;
|
|
dict["y"] = BDE("r");
|
|
BDE rDict = BDE::dict();
|
|
rDict["id"] = BDE(id, DHT_ID_LENGTH);
|
|
dict["r"] = rDict;
|
|
|
|
CPPUNIT_ASSERT_EQUAL(bencode::encode(dict), msgbody);
|
|
}
|
|
|
|
} // namespace aria2
|