From 93968c4fa525d44bf83fb221874a8b8febee3905 Mon Sep 17 00:00:00 2001 From: Tatsuhiro Tsujikawa Date: Fri, 20 Nov 2009 15:42:25 +0000 Subject: 2009-11-21 Tatsuhiro Tsujikawa Initial support of Extension for Peers to Send Metadata Files(BEP9). Currently aria2 only serves metadata and cannot get metadata from swarm. * src/BtConstants.h * src/DefaultBtInteractive.cc * src/DefaultExtensionMessageFactory.cc * src/DefaultExtensionMessageFactory.h * src/ExtensionMessage.h * src/ExtensionMessageRegistry.h * src/HandshakeExtensionMessage.cc * src/HandshakeExtensionMessage.h * src/Makefile.am * src/PeerConnection.h * src/PeerInteractionCommand.cc * src/UTMetadataDataExtensionMessage.cc * src/UTMetadataDataExtensionMessage.h * src/UTMetadataExtensionMessage.cc * src/UTMetadataExtensionMessage.h * src/UTMetadataRejectExtensionMessage.cc * src/UTMetadataRejectExtensionMessage.h * src/UTMetadataRequestExtensionMessage.cc * src/UTMetadataRequestExtensionMessage.h * src/bittorrent_helper.cc * src/bittorrent_helper.h * test/BittorrentHelperTest.cc * test/DefaultExtensionMessageFactoryTest.cc * test/HandshakeExtensionMessageTest.cc * test/Makefile.am * test/UTMetadataDataExtensionMessageTest.cc * test/UTMetadataRejectExtensionMessageTest.cc * test/UTMetadataRequestExtensionMessageTest.cc --- test/UTMetadataDataExtensionMessageTest.cc | 60 ++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 test/UTMetadataDataExtensionMessageTest.cc (limited to 'test/UTMetadataDataExtensionMessageTest.cc') diff --git a/test/UTMetadataDataExtensionMessageTest.cc b/test/UTMetadataDataExtensionMessageTest.cc new file mode 100644 index 00000000..463aa3a1 --- /dev/null +++ b/test/UTMetadataDataExtensionMessageTest.cc @@ -0,0 +1,60 @@ +#include "UTMetadataDataExtensionMessage.h" + +#include + +#include + +#include "BtConstants.h" + +namespace aria2 { + +class UTMetadataDataExtensionMessageTest:public CppUnit::TestFixture { + + CPPUNIT_TEST_SUITE(UTMetadataDataExtensionMessageTest); + CPPUNIT_TEST(testGetExtensionMessageID); + CPPUNIT_TEST(testGetBencodedData); + CPPUNIT_TEST(testToString); + CPPUNIT_TEST(testDoReceivedAction); + CPPUNIT_TEST_SUITE_END(); +public: + void testGetExtensionMessageID(); + void testGetBencodedData(); + void testToString(); + void testDoReceivedAction(); +}; + + +CPPUNIT_TEST_SUITE_REGISTRATION(UTMetadataDataExtensionMessageTest); + +void UTMetadataDataExtensionMessageTest::testGetExtensionMessageID() +{ + UTMetadataDataExtensionMessage msg(1); + CPPUNIT_ASSERT_EQUAL((uint8_t)1, msg.getExtensionMessageID()); +} + +void UTMetadataDataExtensionMessageTest::testGetBencodedData() +{ + std::string data(METADATA_PIECE_SIZE, '0'); + + UTMetadataDataExtensionMessage msg(1); + msg.setIndex(1); + msg.setTotalSize(data.size()); + msg.setData(data); + CPPUNIT_ASSERT_EQUAL + (std::string("d8:msg_typei1e5:piecei1e10:total_sizei16384ee16384:")+data, + msg.getBencodedData()); +} + +void UTMetadataDataExtensionMessageTest::testToString() +{ + UTMetadataDataExtensionMessage msg(1); + msg.setIndex(100); + CPPUNIT_ASSERT_EQUAL(std::string("ut_metadata data piece=100"), + msg.toString()); +} + +void UTMetadataDataExtensionMessageTest::testDoReceivedAction() +{ +} + +} // namespace aria2 -- cgit