summaryrefslogtreecommitdiff
path: root/test/UTMetadataPostDownloadHandlerTest.cc
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2016-03-26 17:12:52 +0900
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2016-03-26 17:20:27 +0900
commitd64089632e82a2548752c7a6baaa68365a795a74 (patch)
tree57fc7b85a8c1290975d58fa4761b04a7695bf7e3 /test/UTMetadataPostDownloadHandlerTest.cc
parentc81b1321122e8509b55c94c0cbca0d8d6d319f0c (diff)
parenta7cd943a06b1a5ff4515b57060b84037f8d01f9f (diff)
Merge branch 'master' into random-webseeding
Diffstat (limited to 'test/UTMetadataPostDownloadHandlerTest.cc')
-rw-r--r--test/UTMetadataPostDownloadHandlerTest.cc61
1 files changed, 33 insertions, 28 deletions
diff --git a/test/UTMetadataPostDownloadHandlerTest.cc b/test/UTMetadataPostDownloadHandlerTest.cc
index f82b63d0..65f26387 100644
--- a/test/UTMetadataPostDownloadHandlerTest.cc
+++ b/test/UTMetadataPostDownloadHandlerTest.cc
@@ -19,22 +19,24 @@
namespace aria2 {
-class UTMetadataPostDownloadHandlerTest:public CppUnit::TestFixture {
+class UTMetadataPostDownloadHandlerTest : public CppUnit::TestFixture {
CPPUNIT_TEST_SUITE(UTMetadataPostDownloadHandlerTest);
CPPUNIT_TEST(testCanHandle);
CPPUNIT_TEST(testGetNextRequestGroups);
CPPUNIT_TEST_SUITE_END();
+
private:
std::shared_ptr<Option> option_;
std::shared_ptr<DownloadContext> dctx_;
std::shared_ptr<RequestGroup> requestGroup_;
+
public:
void setUp()
{
option_.reset(new Option());
option_->put(PREF_DIR, A2_TEST_OUT_DIR);
- dctx_.reset(new DownloadContext(0, 0, A2_TEST_OUT_DIR"/something"));
+ dctx_.reset(new DownloadContext(0, 0, A2_TEST_OUT_DIR "/something"));
requestGroup_.reset(new RequestGroup(GroupId::create(), option_));
requestGroup_->setDownloadContext(dctx_);
}
@@ -43,8 +45,7 @@ public:
void testGetNextRequestGroups();
};
-
-CPPUNIT_TEST_SUITE_REGISTRATION( UTMetadataPostDownloadHandlerTest );
+CPPUNIT_TEST_SUITE_REGISTRATION(UTMetadataPostDownloadHandlerTest);
void UTMetadataPostDownloadHandlerTest::testCanHandle()
{
@@ -65,19 +66,21 @@ void UTMetadataPostDownloadHandlerTest::testCanHandle()
void UTMetadataPostDownloadHandlerTest::testGetNextRequestGroups()
{
- File trfile(A2_TEST_OUT_DIR"/cd41c7fdddfd034a15a04d7ff881216e01c4ceaf.torrent");
- if(trfile.exists()) {
+ File trfile(A2_TEST_OUT_DIR
+ "/cd41c7fdddfd034a15a04d7ff881216e01c4ceaf.torrent");
+ if (trfile.exists()) {
trfile.remove();
}
std::string metadata =
- "d6:lengthi384e4:name19:aria2-0.8.2.tar.bz212:piece lengthi128e"
- "6:pieces60:AAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCe";
+ "d6:lengthi384e4:name19:aria2-0.8.2.tar.bz212:piece lengthi128e"
+ "6:pieces60:"
+ "AAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCe";
unsigned char infoHash[20];
- message_digest::digest
- (infoHash, sizeof(infoHash), MessageDigest::sha1().get(),
- reinterpret_cast<const unsigned char*>(metadata.data()), metadata.size());
+ message_digest::digest(
+ infoHash, sizeof(infoHash), MessageDigest::sha1().get(),
+ reinterpret_cast<const unsigned char*>(metadata.data()), metadata.size());
dctx_->getFirstFileEntry()->setLength(metadata.size());
- std::vector<std::vector<std::string> > announceList;
+ std::vector<std::vector<std::string>> announceList;
std::vector<std::string> announceTier;
announceTier.push_back("http://tracker");
announceList.push_back(announceTier);
@@ -87,15 +90,15 @@ void UTMetadataPostDownloadHandlerTest::testGetNextRequestGroups()
attrs->announceList = announceList;
dctx_->setAttribute(CTX_ATTR_BT, std::move(attrs));
}
- requestGroup_->setDiskWriterFactory
- (std::shared_ptr<DiskWriterFactory>(new ByteArrayDiskWriterFactory()));
+ requestGroup_->setDiskWriterFactory(
+ std::shared_ptr<DiskWriterFactory>(new ByteArrayDiskWriterFactory()));
requestGroup_->initPieceStorage();
- requestGroup_->getPieceStorage()->getDiskAdaptor()->writeData
- (reinterpret_cast<const unsigned char*>(metadata.data()), metadata.size(),
- 0);
+ requestGroup_->getPieceStorage()->getDiskAdaptor()->writeData(
+ reinterpret_cast<const unsigned char*>(metadata.data()), metadata.size(),
+ 0);
UTMetadataPostDownloadHandler handler;
- std::vector<std::shared_ptr<RequestGroup> > results;
+ std::vector<std::shared_ptr<RequestGroup>> results;
handler.getNextRequestGroups(results, requestGroup_.get());
CPPUNIT_ASSERT_EQUAL((size_t)1, results.size());
@@ -104,16 +107,17 @@ void UTMetadataPostDownloadHandlerTest::testGetNextRequestGroups()
auto newAttrs = bittorrent::getTorrentAttrs(newDctx);
CPPUNIT_ASSERT_EQUAL(bittorrent::getInfoHashString(dctx_),
bittorrent::getInfoHashString(newDctx));
- const std::vector<std::vector<std::string> >& newAnnounceList =
- newAttrs->announceList;
+ const std::vector<std::vector<std::string>>& newAnnounceList =
+ newAttrs->announceList;
CPPUNIT_ASSERT_EQUAL((size_t)1, newAnnounceList.size());
CPPUNIT_ASSERT_EQUAL(std::string("http://tracker"), newAnnounceList[0][0]);
CPPUNIT_ASSERT_EQUAL(option_->get(PREF_DIR),
newRg->getOption()->get(PREF_DIR));
- CPPUNIT_ASSERT
- (std::find(requestGroup_->followedBy().begin(),
- requestGroup_->followedBy().end(),
- newRg->getGID()) != requestGroup_->followedBy().end());
+ CPPUNIT_ASSERT(std::find(requestGroup_->followedBy().begin(),
+ requestGroup_->followedBy().end(),
+ newRg->getGID()) !=
+ requestGroup_->followedBy().end());
+ CPPUNIT_ASSERT_EQUAL(requestGroup_->getGID(), newRg->following());
CPPUNIT_ASSERT(!trfile.exists());
results.clear();
@@ -127,13 +131,14 @@ void UTMetadataPostDownloadHandlerTest::testGetNextRequestGroups()
// See failure with bad metadata
metadata = "d6:lengthi384e4:name19:aria2-0.8.2.tar.bz212:piece lengthi128e";
requestGroup_->initPieceStorage();
- requestGroup_->getPieceStorage()->getDiskAdaptor()->writeData
- (reinterpret_cast<const unsigned char*>(metadata.data()), metadata.size(),
- 0);
+ requestGroup_->getPieceStorage()->getDiskAdaptor()->writeData(
+ reinterpret_cast<const unsigned char*>(metadata.data()), metadata.size(),
+ 0);
try {
handler.getNextRequestGroups(results, requestGroup_.get());
CPPUNIT_FAIL("exception must be thrown.");
- } catch(RecoverableException& e) {
+ }
+ catch (RecoverableException& e) {
// success
}
}