summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/BtDependencyTest.cc6
-rw-r--r--test/BtPostDownloadHandlerTest.cc6
-rw-r--r--test/CookieStorageTest.cc1
-rw-r--r--test/DefaultBtMessageDispatcherTest.cc2
-rw-r--r--test/DownloadHandlerFactoryTest.cc8
-rw-r--r--test/DownloadHelperTest.cc32
-rw-r--r--test/FeedbackURISelectorTest.cc28
-rw-r--r--test/FileEntryTest.cc45
-rw-r--r--test/InOrderURISelectorTest.cc23
-rw-r--r--test/Metalink2RequestGroupTest.cc8
-rw-r--r--test/MetalinkPostDownloadHandlerTest.cc6
-rw-r--r--test/RequestGroupManTest.cc6
-rw-r--r--test/RequestGroupTest.cc74
-rw-r--r--test/XmlRpcMethodTest.cc14
14 files changed, 129 insertions, 130 deletions
diff --git a/test/BtDependencyTest.cc b/test/BtDependencyTest.cc
index 104921b2..588f8579 100644
--- a/test/BtDependencyTest.cc
+++ b/test/BtDependencyTest.cc
@@ -27,8 +27,7 @@ class BtDependencyTest:public CppUnit::TestFixture {
SharedHandle<RequestGroup> createDependant(const SharedHandle<Option>& option)
{
- SharedHandle<RequestGroup> dependant
- (new RequestGroup(option, std::deque<std::string>()));
+ SharedHandle<RequestGroup> dependant(new RequestGroup(option));
SharedHandle<DownloadContext> dctx
(new DownloadContext(0, 0, "/tmp/outfile.path"));
dctx->setDir("/tmp");
@@ -42,8 +41,7 @@ class BtDependencyTest:public CppUnit::TestFixture {
const std::string& torrentFile,
int64_t length)
{
- SharedHandle<RequestGroup> dependee
- (new RequestGroup(option, std::deque<std::string>()));
+ SharedHandle<RequestGroup> dependee(new RequestGroup(option));
SharedHandle<DownloadContext> dctx
(new DownloadContext(1024*1024, length, torrentFile));
dctx->setDir(".");
diff --git a/test/BtPostDownloadHandlerTest.cc b/test/BtPostDownloadHandlerTest.cc
index 17d83c59..4c786dc8 100644
--- a/test/BtPostDownloadHandlerTest.cc
+++ b/test/BtPostDownloadHandlerTest.cc
@@ -36,7 +36,7 @@ CPPUNIT_TEST_SUITE_REGISTRATION( BtPostDownloadHandlerTest );
void BtPostDownloadHandlerTest::testCanHandle_extension()
{
SharedHandle<DownloadContext> dctx(new DownloadContext(0, 0, "test.torrent"));
- RequestGroup rg(_option, std::deque<std::string>());
+ RequestGroup rg(_option);
rg.setDownloadContext(dctx);
BtPostDownloadHandler handler;
@@ -51,7 +51,7 @@ void BtPostDownloadHandlerTest::testCanHandle_contentType()
{
SharedHandle<DownloadContext> dctx(new DownloadContext(0, 0, "test"));
dctx->getFirstFileEntry()->setContentType("application/x-bittorrent");
- RequestGroup rg(_option, std::deque<std::string>());
+ RequestGroup rg(_option);
rg.setDownloadContext(dctx);
BtPostDownloadHandler handler;
@@ -66,7 +66,7 @@ void BtPostDownloadHandlerTest::testGetNextRequestGroups()
{
SharedHandle<DownloadContext> dctx
(new DownloadContext(1024, 0, "test.torrent"));
- RequestGroup rg(_option, std::deque<std::string>());
+ RequestGroup rg(_option);
rg.setDownloadContext(dctx);
rg.initPieceStorage();
diff --git a/test/CookieStorageTest.cc b/test/CookieStorageTest.cc
index 2a3c4437..2f4cd8ac 100644
--- a/test/CookieStorageTest.cc
+++ b/test/CookieStorageTest.cc
@@ -10,6 +10,7 @@
#include "TimeA2.h"
#include "CookieParser.h"
#include "RecoverableException.h"
+#include "File.h"
namespace aria2 {
diff --git a/test/DefaultBtMessageDispatcherTest.cc b/test/DefaultBtMessageDispatcherTest.cc
index a8de2984..4c620406 100644
--- a/test/DefaultBtMessageDispatcherTest.cc
+++ b/test/DefaultBtMessageDispatcherTest.cc
@@ -137,7 +137,7 @@ public:
void setUp() {
_option.reset(new Option());
- _rg.reset(new RequestGroup(_option, std::deque<std::string>()));
+ _rg.reset(new RequestGroup(_option));
_dctx.reset(new DownloadContext());
bittorrent::load("test.torrent", _dctx);
diff --git a/test/DownloadHandlerFactoryTest.cc b/test/DownloadHandlerFactoryTest.cc
index 4bf4eea3..0e384661 100644
--- a/test/DownloadHandlerFactoryTest.cc
+++ b/test/DownloadHandlerFactoryTest.cc
@@ -51,7 +51,7 @@ CPPUNIT_TEST_SUITE_REGISTRATION( DownloadHandlerFactoryTest );
void DownloadHandlerFactoryTest::testGetMetalinkPreDownloadHandler_extension()
{
SharedHandle<DownloadContext> dctx(new DownloadContext(0, 0, "test.metalink"));
- RequestGroup rg(_option, std::deque<std::string>());
+ RequestGroup rg(_option);
rg.setDownloadContext(dctx);
SharedHandle<PreDownloadHandler> handler = DownloadHandlerFactory::getMetalinkPreDownloadHandler();
@@ -66,7 +66,7 @@ void DownloadHandlerFactoryTest::testGetMetalinkPreDownloadHandler_contentType()
{
SharedHandle<DownloadContext> dctx(new DownloadContext(0, 0, "test"));
dctx->getFirstFileEntry()->setContentType("application/metalink+xml");
- RequestGroup rg(_option, std::deque<std::string>());
+ RequestGroup rg(_option);
rg.setDownloadContext(dctx);
SharedHandle<PreDownloadHandler> handler = DownloadHandlerFactory::getMetalinkPreDownloadHandler();
@@ -84,7 +84,7 @@ void DownloadHandlerFactoryTest::testGetMetalinkPreDownloadHandler_contentType()
void DownloadHandlerFactoryTest::testGetBtPreDownloadHandler_extension()
{
SharedHandle<DownloadContext> dctx(new DownloadContext(0, 0, "test.torrent"));
- RequestGroup rg(_option, std::deque<std::string>());
+ RequestGroup rg(_option);
rg.setDownloadContext(dctx);
SharedHandle<PreDownloadHandler> handler = DownloadHandlerFactory::getBtPreDownloadHandler();
@@ -99,7 +99,7 @@ void DownloadHandlerFactoryTest::testGetBtPreDownloadHandler_contentType()
{
SharedHandle<DownloadContext> dctx(new DownloadContext(0, 0, "test"));
dctx->getFirstFileEntry()->setContentType("application/x-bittorrent");
- RequestGroup rg(_option, std::deque<std::string>());
+ RequestGroup rg(_option);
rg.setDownloadContext(dctx);
SharedHandle<PreDownloadHandler> handler = DownloadHandlerFactory::getBtPreDownloadHandler();
diff --git a/test/DownloadHelperTest.cc b/test/DownloadHelperTest.cc
index b0d0999c..7255d63b 100644
--- a/test/DownloadHelperTest.cc
+++ b/test/DownloadHelperTest.cc
@@ -82,7 +82,7 @@ void DownloadHelperTest::testCreateRequestGroupForUri()
CPPUNIT_ASSERT_EQUAL((size_t)1, result.size());
SharedHandle<RequestGroup> group = result[0];
std::deque<std::string> uris;
- group->getURIs(uris);
+ group->getDownloadContext()->getFirstFileEntry()->getUris(uris);
CPPUNIT_ASSERT_EQUAL((size_t)3, uris.size());
for(size_t i = 0; i < arrayLength(array); ++i) {
CPPUNIT_ASSERT_EQUAL(array[i], uris[i]);
@@ -101,7 +101,7 @@ void DownloadHelperTest::testCreateRequestGroupForUri()
CPPUNIT_ASSERT_EQUAL((size_t)1, result.size());
SharedHandle<RequestGroup> group = result[0];
std::deque<std::string> uris;
- group->getURIs(uris);
+ group->getDownloadContext()->getFirstFileEntry()->getUris(uris);
CPPUNIT_ASSERT_EQUAL((size_t)5, uris.size());
for(size_t i = 0; i < arrayLength(array); ++i) {
CPPUNIT_ASSERT_EQUAL(array[i], uris[i]);
@@ -120,7 +120,7 @@ void DownloadHelperTest::testCreateRequestGroupForUri()
CPPUNIT_ASSERT_EQUAL((size_t)1, result.size());
SharedHandle<RequestGroup> group = result[0];
std::deque<std::string> uris;
- group->getURIs(uris);
+ group->getDownloadContext()->getFirstFileEntry()->getUris(uris);
CPPUNIT_ASSERT_EQUAL((size_t)3, uris.size());
for(size_t i = 0; i < arrayLength(array); ++i) {
CPPUNIT_ASSERT_EQUAL(array[i], uris[i]);
@@ -138,7 +138,7 @@ void DownloadHelperTest::testCreateRequestGroupForUri()
// for alpha server
SharedHandle<RequestGroup> alphaGroup = result[0];
std::deque<std::string> alphaURIs;
- alphaGroup->getURIs(alphaURIs);
+ alphaGroup->getDownloadContext()->getFirstFileEntry()->getUris(alphaURIs);
CPPUNIT_ASSERT_EQUAL((size_t)2, alphaURIs.size());
for(size_t i = 0; i < 2; ++i) {
CPPUNIT_ASSERT_EQUAL(array[0], uris[0]);
@@ -171,7 +171,7 @@ void DownloadHelperTest::testCreateRequestGroupForUri_parameterized()
CPPUNIT_ASSERT_EQUAL((size_t)1, result.size());
SharedHandle<RequestGroup> group = result[0];
std::deque<std::string> uris;
- group->getURIs(uris);
+ group->getDownloadContext()->getFirstFileEntry()->getUris(uris);
CPPUNIT_ASSERT_EQUAL((size_t)3, uris.size());
CPPUNIT_ASSERT_EQUAL(std::string("http://alpha/file"), uris[0]);
@@ -206,7 +206,7 @@ void DownloadHelperTest::testCreateRequestGroupForUri_BitTorrent()
CPPUNIT_ASSERT_EQUAL((size_t)2, result.size());
SharedHandle<RequestGroup> group = result[0];
std::deque<std::string> uris;
- group->getURIs(uris);
+ group->getDownloadContext()->getFirstFileEntry()->getUris(uris);
CPPUNIT_ASSERT_EQUAL((size_t)3, uris.size());
CPPUNIT_ASSERT_EQUAL(array[0], uris[0]);
@@ -221,7 +221,7 @@ void DownloadHelperTest::testCreateRequestGroupForUri_BitTorrent()
SharedHandle<RequestGroup> torrentGroup = result[1];
std::deque<std::string> auxURIs;
- torrentGroup->getURIs(auxURIs);
+ torrentGroup->getDownloadContext()->getFirstFileEntry()->getUris(auxURIs);
CPPUNIT_ASSERT(auxURIs.empty());
CPPUNIT_ASSERT_EQUAL((unsigned int)3,
torrentGroup->getNumConcurrentCommand());
@@ -262,7 +262,7 @@ void DownloadHelperTest::testCreateRequestGroupForUri_Metalink()
SharedHandle<RequestGroup> group = result[0];
std::deque<std::string> uris;
- group->getURIs(uris);
+ group->getDownloadContext()->getFirstFileEntry()->getUris(uris);
CPPUNIT_ASSERT_EQUAL((size_t)3, uris.size());
for(size_t i = 0; i < 3; ++i) {
CPPUNIT_ASSERT_EQUAL(array[i], uris[i]);
@@ -304,7 +304,7 @@ void DownloadHelperTest::testCreateRequestGroupForUriList()
SharedHandle<RequestGroup> fileGroup = result[0];
std::deque<std::string> fileURIs;
- fileGroup->getURIs(fileURIs);
+ fileGroup->getDownloadContext()->getFirstFileEntry()->getUris(fileURIs);
CPPUNIT_ASSERT_EQUAL(std::string("http://alpha/file"), fileURIs[0]);
CPPUNIT_ASSERT_EQUAL(std::string("http://bravo/file"), fileURIs[1]);
CPPUNIT_ASSERT_EQUAL(std::string("http://charlie/file"), fileURIs[2]);
@@ -344,13 +344,11 @@ void DownloadHelperTest::testCreateRequestGroupForBitTorrent()
SharedHandle<RequestGroup> group = result[0];
std::deque<std::string> uris;
- group->getURIs(uris);
- CPPUNIT_ASSERT_EQUAL((size_t)5, uris.size());
+ group->getDownloadContext()->getFirstFileEntry()->getUris(uris);
+ // See -s option is ignored
+ CPPUNIT_ASSERT_EQUAL((size_t)3, uris.size());
for(size_t i = 0; i < arrayLength(array); ++i) {
- CPPUNIT_ASSERT_EQUAL(array[i], uris[i]);
- }
- for(size_t i = 0; i < 5-arrayLength(array); ++i) {
- CPPUNIT_ASSERT_EQUAL(array[i], uris[i+arrayLength(array)]);
+ CPPUNIT_ASSERT_EQUAL(array[i]+"/aria2-test/aria2/src/aria2c", uris[i]);
}
CPPUNIT_ASSERT_EQUAL((unsigned int)5, group->getNumConcurrentCommand());
}
@@ -363,7 +361,7 @@ void DownloadHelperTest::testCreateRequestGroupForBitTorrent()
CPPUNIT_ASSERT_EQUAL((size_t)1, result.size());
SharedHandle<RequestGroup> group = result[0];
std::deque<std::string> uris;
- group->getURIs(uris);
+ group->getDownloadContext()->getFirstFileEntry()->getUris(uris);
CPPUNIT_ASSERT_EQUAL((size_t)0, uris.size());
}
_option->put(PREF_FORCE_SEQUENTIAL, V_TRUE);
@@ -398,7 +396,7 @@ void DownloadHelperTest::testCreateRequestGroupForMetalink()
#endif // !ENABLE_BITTORRENT
SharedHandle<RequestGroup> group = result[0];
std::deque<std::string> uris;
- group->getURIs(uris);
+ group->getDownloadContext()->getFirstFileEntry()->getUris(uris);
std::sort(uris.begin(), uris.end());
CPPUNIT_ASSERT_EQUAL((size_t)2, uris.size());
CPPUNIT_ASSERT_EQUAL(std::string("ftp://ftphost/aria2-0.5.2.tar.bz2"),
diff --git a/test/FeedbackURISelectorTest.cc b/test/FeedbackURISelectorTest.cc
index 5dcf2c76..783f5680 100644
--- a/test/FeedbackURISelectorTest.cc
+++ b/test/FeedbackURISelectorTest.cc
@@ -1,7 +1,5 @@
#include "FeedbackURISelector.h"
-#include <iostream>
-
#include <cppunit/extensions/HelperMacros.h>
#include "Exception.h"
@@ -9,6 +7,7 @@
#include "array_fun.h"
#include "ServerStatMan.h"
#include "ServerStat.h"
+#include "FileEntry.h"
namespace aria2 {
@@ -20,8 +19,7 @@ class FeedbackURISelectorTest:public CppUnit::TestFixture {
CPPUNIT_TEST(testSelect_skipErrorHost);
CPPUNIT_TEST_SUITE_END();
private:
-
- std::deque<std::string> uris;
+ FileEntry _fileEntry;
SharedHandle<ServerStatMan> ssm;
@@ -35,8 +33,11 @@ public:
"ftp://alpha/file",
"http://bravo/file"
};
+ std::deque<std::string> uris;
uris.assign(&urisSrc[0], &urisSrc[arrayLength(urisSrc)]);
+ _fileEntry.setUris(uris);
+
ssm.reset(new ServerStatMan());
sel.reset(new FeedbackURISelector(ssm));
}
@@ -56,9 +57,9 @@ CPPUNIT_TEST_SUITE_REGISTRATION(FeedbackURISelectorTest);
void FeedbackURISelectorTest::testSelect_withoutServerStat()
{
// Without ServerStat, selector returns first URI
- std::string uri = sel->select(uris);
+ std::string uri = sel->select(&_fileEntry);
CPPUNIT_ASSERT_EQUAL(std::string("http://alpha/file"), uri);
- CPPUNIT_ASSERT_EQUAL((size_t)2, uris.size());
+ CPPUNIT_ASSERT_EQUAL((size_t)2, _fileEntry.getRemainingUris().size());
}
void FeedbackURISelectorTest::testSelect()
@@ -75,11 +76,13 @@ void FeedbackURISelectorTest::testSelect()
ssm->add(alphaFTP);
ssm->add(alphaHTTP);
- CPPUNIT_ASSERT_EQUAL(std::string("http://bravo/file"), sel->select(uris));
- CPPUNIT_ASSERT_EQUAL((size_t)2, uris.size());
+ CPPUNIT_ASSERT_EQUAL(std::string("http://bravo/file"),
+ sel->select(&_fileEntry));
+ CPPUNIT_ASSERT_EQUAL((size_t)2, _fileEntry.getRemainingUris().size());
- CPPUNIT_ASSERT_EQUAL(std::string("ftp://alpha/file"), sel->select(uris));
- CPPUNIT_ASSERT_EQUAL((size_t)1, uris.size());
+ CPPUNIT_ASSERT_EQUAL(std::string("ftp://alpha/file"),
+ sel->select(&_fileEntry));
+ CPPUNIT_ASSERT_EQUAL((size_t)1, _fileEntry.getRemainingUris().size());
}
void FeedbackURISelectorTest::testSelect_skipErrorHost()
@@ -93,8 +96,9 @@ void FeedbackURISelectorTest::testSelect_skipErrorHost()
ssm->add(alphaFTP);
// See error URIs are removed from URI List.
- CPPUNIT_ASSERT_EQUAL(std::string("http://bravo/file"), sel->select(uris));
- CPPUNIT_ASSERT_EQUAL((size_t)0, uris.size());
+ CPPUNIT_ASSERT_EQUAL(std::string("http://bravo/file"),
+ sel->select(&_fileEntry));
+ CPPUNIT_ASSERT_EQUAL((size_t)0, _fileEntry.getRemainingUris().size());
}
} // namespace aria2
diff --git a/test/FileEntryTest.cc b/test/FileEntryTest.cc
index 5c3f70f6..475680fd 100644
--- a/test/FileEntryTest.cc
+++ b/test/FileEntryTest.cc
@@ -7,11 +7,15 @@ class FileEntryTest : public CppUnit::TestFixture {
CPPUNIT_TEST_SUITE(FileEntryTest);
CPPUNIT_TEST(testSetupDir);
+ CPPUNIT_TEST(testRemoveURIWhoseHostnameIs);
+ CPPUNIT_TEST(testExtractURIResult);
CPPUNIT_TEST_SUITE_END();
public:
void setUp() {}
void testSetupDir();
+ void testRemoveURIWhoseHostnameIs();
+ void testExtractURIResult();
};
@@ -34,4 +38,45 @@ void FileEntryTest::testSetupDir()
CPPUNIT_ASSERT(!f.exists());
}
+void FileEntryTest::testRemoveURIWhoseHostnameIs()
+{
+ const char* uris[] = { "http://localhost/aria2.zip",
+ "ftp://localhost/aria2.zip",
+ "http://mirror/aria2.zip" };
+ FileEntry fileEntry;
+ fileEntry.setUris(std::deque<std::string>(&uris[0], &uris[3]));
+ fileEntry.removeURIWhoseHostnameIs("localhost");
+ CPPUNIT_ASSERT_EQUAL((size_t)1, fileEntry.getRemainingUris().size());
+ CPPUNIT_ASSERT_EQUAL(std::string("http://mirror/aria2.zip"),
+ fileEntry.getRemainingUris()[0]);
+}
+
+
+void FileEntryTest::testExtractURIResult()
+{
+ FileEntry fileEntry;
+ fileEntry.addURIResult("http://timeout/file", downloadresultcode::TIME_OUT);
+ fileEntry.addURIResult("http://finished/file", downloadresultcode::FINISHED);
+ fileEntry.addURIResult("http://timeout/file2", downloadresultcode::TIME_OUT);
+ fileEntry.addURIResult("http://unknownerror/file", downloadresultcode::UNKNOWN_ERROR);
+
+ std::deque<URIResult> res;
+ fileEntry.extractURIResult(res, downloadresultcode::TIME_OUT);
+ CPPUNIT_ASSERT_EQUAL((size_t)2, res.size());
+ CPPUNIT_ASSERT_EQUAL(std::string("http://timeout/file"), res[0].getURI());
+ CPPUNIT_ASSERT_EQUAL(std::string("http://timeout/file2"), res[1].getURI());
+
+ CPPUNIT_ASSERT_EQUAL((size_t)2, fileEntry.getURIResults().size());
+ CPPUNIT_ASSERT_EQUAL(std::string("http://finished/file"),
+ fileEntry.getURIResults()[0].getURI());
+ CPPUNIT_ASSERT_EQUAL(std::string("http://unknownerror/file"),
+ fileEntry.getURIResults()[1].getURI());
+
+ res.clear();
+
+ fileEntry.extractURIResult(res, downloadresultcode::TIME_OUT);
+ CPPUNIT_ASSERT(res.empty());
+ CPPUNIT_ASSERT_EQUAL((size_t)2, fileEntry.getURIResults().size());
+}
+
} // namespace aria2
diff --git a/test/InOrderURISelectorTest.cc b/test/InOrderURISelectorTest.cc
index c77b114c..3663a9f9 100644
--- a/test/InOrderURISelectorTest.cc
+++ b/test/InOrderURISelectorTest.cc
@@ -1,9 +1,11 @@
#include "InOrderURISelector.h"
+
+#include <cppunit/extensions/HelperMacros.h>
+
#include "Exception.h"
#include "Util.h"
#include "array_fun.h"
-#include <iostream>
-#include <cppunit/extensions/HelperMacros.h>
+#include "FileEntry.h"
namespace aria2 {
@@ -13,8 +15,7 @@ class InOrderURISelectorTest:public CppUnit::TestFixture {
CPPUNIT_TEST(testSelect);
CPPUNIT_TEST_SUITE_END();
private:
-
- std::deque<std::string> uris;
+ FileEntry _fileEntry;
SharedHandle<InOrderURISelector> sel;
@@ -26,8 +27,11 @@ public:
"ftp://alpha/file",
"http://bravo/file"
};
+ std::deque<std::string> uris;
uris.assign(&urisSrc[0], &urisSrc[arrayLength(urisSrc)]);
+ _fileEntry.setUris(uris);
+
sel.reset(new InOrderURISelector());
}
@@ -41,10 +45,13 @@ CPPUNIT_TEST_SUITE_REGISTRATION(InOrderURISelectorTest);
void InOrderURISelectorTest::testSelect()
{
- CPPUNIT_ASSERT_EQUAL(std::string("http://alpha/file"), sel->select(uris));
- CPPUNIT_ASSERT_EQUAL(std::string("ftp://alpha/file"), sel->select(uris));
- CPPUNIT_ASSERT_EQUAL(std::string("http://bravo/file"), sel->select(uris));
- CPPUNIT_ASSERT_EQUAL(std::string(""), sel->select(uris));
+ CPPUNIT_ASSERT_EQUAL(std::string("http://alpha/file"),
+ sel->select(&_fileEntry));
+ CPPUNIT_ASSERT_EQUAL(std::string("ftp://alpha/file"),
+ sel->select(&_fileEntry));
+ CPPUNIT_ASSERT_EQUAL(std::string("http://bravo/file"),
+ sel->select(&_fileEntry));
+ CPPUNIT_ASSERT_EQUAL(std::string(""), sel->select(&_fileEntry));
}
} // namespace aria2
diff --git a/test/Metalink2RequestGroupTest.cc b/test/Metalink2RequestGroupTest.cc
index 49ad2932..5df90552 100644
--- a/test/Metalink2RequestGroupTest.cc
+++ b/test/Metalink2RequestGroupTest.cc
@@ -42,7 +42,7 @@ void Metalink2RequestGroupTest::testGenerate()
{
SharedHandle<RequestGroup> rg = groups[0];
std::deque<std::string> uris;
- rg->getURIs(uris);
+ rg->getDownloadContext()->getFirstFileEntry()->getUris(uris);
std::sort(uris.begin(), uris.end());
CPPUNIT_ASSERT_EQUAL((size_t)2, uris.size());
CPPUNIT_ASSERT_EQUAL
@@ -68,7 +68,7 @@ void Metalink2RequestGroupTest::testGenerate()
{
SharedHandle<RequestGroup> rg = groups[1];
std::deque<std::string> uris;
- rg->getURIs(uris);
+ rg->getDownloadContext()->getFirstFileEntry()->getUris(uris);
CPPUNIT_ASSERT_EQUAL((size_t)2, uris.size());
const SharedHandle<DownloadContext>& dctx = rg->getDownloadContext();
@@ -90,7 +90,7 @@ void Metalink2RequestGroupTest::testGenerate()
{
SharedHandle<RequestGroup> rg = groups[4];
std::deque<std::string> uris;
- rg->getURIs(uris);
+ rg->getDownloadContext()->getFirstFileEntry()->getUris(uris);
CPPUNIT_ASSERT_EQUAL((size_t)1, uris.size());
CPPUNIT_ASSERT_EQUAL
(std::string("http://host/torrent-http.integrated.torrent"), uris[0]);
@@ -110,7 +110,7 @@ void Metalink2RequestGroupTest::testGenerate()
SharedHandle<RequestGroup> rg = groups[4];
#endif // ENABLE_BITTORRENT
std::deque<std::string> uris;
- rg->getURIs(uris);
+ rg->getDownloadContext()->getFirstFileEntry()->getUris(uris);
CPPUNIT_ASSERT_EQUAL((size_t)1, uris.size());
CPPUNIT_ASSERT_EQUAL
(std::string("http://host/torrent-http.integrated"), uris[0]);
diff --git a/test/MetalinkPostDownloadHandlerTest.cc b/test/MetalinkPostDownloadHandlerTest.cc
index 8e9abbdc..4f8dbe0f 100644
--- a/test/MetalinkPostDownloadHandlerTest.cc
+++ b/test/MetalinkPostDownloadHandlerTest.cc
@@ -36,7 +36,7 @@ void MetalinkPostDownloadHandlerTest::testCanHandle_extension()
{
SharedHandle<DownloadContext> dctx
(new DownloadContext(0, 0, "test.metalink"));
- RequestGroup rg(_option, std::deque<std::string>());
+ RequestGroup rg(_option);
rg.setDownloadContext(dctx);
MetalinkPostDownloadHandler handler;
@@ -51,7 +51,7 @@ void MetalinkPostDownloadHandlerTest::testCanHandle_contentType()
{
SharedHandle<DownloadContext> dctx(new DownloadContext(0, 0, "test"));
dctx->getFirstFileEntry()->setContentType("application/metalink+xml");
- RequestGroup rg(_option, std::deque<std::string>());
+ RequestGroup rg(_option);
rg.setDownloadContext(dctx);
MetalinkPostDownloadHandler handler;
@@ -66,7 +66,7 @@ void MetalinkPostDownloadHandlerTest::testGetNextRequestGroups()
{
SharedHandle<DownloadContext> dctx
(new DownloadContext(1024, 0, "test.xml"));
- RequestGroup rg(_option, std::deque<std::string>());
+ RequestGroup rg(_option);
rg.setDownloadContext(dctx);
rg.initPieceStorage();
diff --git a/test/RequestGroupManTest.cc b/test/RequestGroupManTest.cc
index ba83984d..88dd37f1 100644
--- a/test/RequestGroupManTest.cc
+++ b/test/RequestGroupManTest.cc
@@ -43,10 +43,8 @@ CPPUNIT_TEST_SUITE_REGISTRATION( RequestGroupManTest );
void RequestGroupManTest::testIsSameFileBeingDownloaded()
{
- std::deque<std::string> uris;
- uris.push_back("http://localhost/aria2.tar.bz2");
- SharedHandle<RequestGroup> rg1(new RequestGroup(_option, uris));
- SharedHandle<RequestGroup> rg2(new RequestGroup(_option, uris));
+ SharedHandle<RequestGroup> rg1(new RequestGroup(_option));
+ SharedHandle<RequestGroup> rg2(new RequestGroup(_option));
SharedHandle<DownloadContext> dctx1
(new DownloadContext(0, 0, "aria2.tar.bz2"));
diff --git a/test/RequestGroupTest.cc b/test/RequestGroupTest.cc
index 17ab9c02..429dcd40 100644
--- a/test/RequestGroupTest.cc
+++ b/test/RequestGroupTest.cc
@@ -7,6 +7,7 @@
#include "DownloadContext.h"
#include "FileEntry.h"
#include "PieceStorage.h"
+#include "DownloadResult.h"
namespace aria2 {
@@ -14,10 +15,8 @@ class RequestGroupTest : public CppUnit::TestFixture {
CPPUNIT_TEST_SUITE(RequestGroupTest);
CPPUNIT_TEST(testRegisterSearchRemove);
- CPPUNIT_TEST(testRemoveURIWhoseHostnameIs);
CPPUNIT_TEST(testGetFirstFilePath);
CPPUNIT_TEST(testCreateDownloadResult);
- CPPUNIT_TEST(testExtractURIResult);
CPPUNIT_TEST_SUITE_END();
private:
SharedHandle<Option> _option;
@@ -28,10 +27,8 @@ public:
}
void testRegisterSearchRemove();
- void testRemoveURIWhoseHostnameIs();
void testGetFirstFilePath();
void testCreateDownloadResult();
- void testExtractURIResult();
};
@@ -39,7 +36,7 @@ CPPUNIT_TEST_SUITE_REGISTRATION( RequestGroupTest );
void RequestGroupTest::testRegisterSearchRemove()
{
- RequestGroup rg(_option, std::deque<std::string>());
+ RequestGroup rg(_option);
SharedHandle<ServerHost> sv1(new ServerHost(1, "localhost1"));
SharedHandle<ServerHost> sv2(new ServerHost(2, "localhost2"));
SharedHandle<ServerHost> sv3(new ServerHost(3, "localhost3"));
@@ -69,25 +66,12 @@ void RequestGroupTest::testRegisterSearchRemove()
}
}
-void RequestGroupTest::testRemoveURIWhoseHostnameIs()
-{
- const char* uris[] = { "http://localhost/aria2.zip",
- "ftp://localhost/aria2.zip",
- "http://mirror/aria2.zip" };
- RequestGroup rg(_option, std::deque<std::string>(&uris[0], &uris[3]));
- rg.removeURIWhoseHostnameIs("localhost");
- CPPUNIT_ASSERT_EQUAL((size_t)1, rg.getRemainingUris().size());
- CPPUNIT_ASSERT_EQUAL(std::string("http://mirror/aria2.zip"),
- rg.getRemainingUris()[0]);
-}
-
void RequestGroupTest::testGetFirstFilePath()
{
SharedHandle<DownloadContext> ctx
(new DownloadContext(1024, 1024, "/tmp/myfile"));
- std::deque<std::string> uris;
- RequestGroup group(_option, uris);
+ RequestGroup group(_option);
group.setDownloadContext(ctx);
CPPUNIT_ASSERT_EQUAL(std::string("/tmp/myfile"), group.getFirstFilePath());
@@ -101,12 +85,7 @@ void RequestGroupTest::testCreateDownloadResult()
{
SharedHandle<DownloadContext> ctx
(new DownloadContext(1024, 1024*1024, "/tmp/myfile"));
- //ctx->setDir("/tmp");
- std::deque<std::string> uris;
- uris.push_back("http://first/file");
- uris.push_back("http://second/file");
-
- RequestGroup group(_option, uris);
+ RequestGroup group(_option);
group.setDownloadContext(ctx);
group.initPieceStorage();
{
@@ -114,64 +93,35 @@ void RequestGroupTest::testCreateDownloadResult()
CPPUNIT_ASSERT_EQUAL(std::string("/tmp/myfile"),
result->fileEntries[0]->getPath());
- CPPUNIT_ASSERT_EQUAL((uint64_t)1024*1024, result->totalLength);
- CPPUNIT_ASSERT_EQUAL(std::string("http://first/file"), result->uri);
- CPPUNIT_ASSERT_EQUAL((size_t)2, result->numUri);
+ CPPUNIT_ASSERT_EQUAL((off_t)1024*1024,
+ result->fileEntries.back()->getLastOffset());
CPPUNIT_ASSERT_EQUAL((uint64_t)0, result->sessionDownloadLength);
CPPUNIT_ASSERT_EQUAL((int64_t)0, result->sessionTime);
// result is UNKNOWN_ERROR if download has not completed and no specific
// error has been reported
- CPPUNIT_ASSERT_EQUAL(DownloadResult::UNKNOWN_ERROR, result->result);
+ CPPUNIT_ASSERT_EQUAL(downloadresultcode::UNKNOWN_ERROR, result->result);
// if haltReason is set to RequestGroup::USER_REQUEST, download
// result becomes IN_PROGRESS
group.setHaltRequested(true, RequestGroup::USER_REQUEST);
result = group.createDownloadResult();
- CPPUNIT_ASSERT_EQUAL(DownloadResult::IN_PROGRESS, result->result);
+ CPPUNIT_ASSERT_EQUAL(downloadresultcode::IN_PROGRESS, result->result);
}
{
- group.addURIResult("http://first/file", DownloadResult::TIME_OUT);
- group.addURIResult("http://second/file",DownloadResult::RESOURCE_NOT_FOUND);
+ group.setLastUriResult
+ ("http://second/file",downloadresultcode::RESOURCE_NOT_FOUND);
SharedHandle<DownloadResult> result = group.createDownloadResult();
- CPPUNIT_ASSERT_EQUAL(DownloadResult::RESOURCE_NOT_FOUND, result->result);
+ CPPUNIT_ASSERT_EQUAL(downloadresultcode::RESOURCE_NOT_FOUND, result->result);
}
{
group.getPieceStorage()->markAllPiecesDone();
SharedHandle<DownloadResult> result = group.createDownloadResult();
- CPPUNIT_ASSERT_EQUAL(DownloadResult::FINISHED, result->result);
+ CPPUNIT_ASSERT_EQUAL(downloadresultcode::FINISHED, result->result);
}
}
-void RequestGroupTest::testExtractURIResult()
-{
- RequestGroup group(_option, std::deque<std::string>());
- group.addURIResult("http://timeout/file", DownloadResult::TIME_OUT);
- group.addURIResult("http://finished/file", DownloadResult::FINISHED);
- group.addURIResult("http://timeout/file2", DownloadResult::TIME_OUT);
- group.addURIResult("http://unknownerror/file", DownloadResult::UNKNOWN_ERROR);
-
- std::deque<URIResult> res;
- group.extractURIResult(res, DownloadResult::TIME_OUT);
- CPPUNIT_ASSERT_EQUAL((size_t)2, res.size());
- CPPUNIT_ASSERT_EQUAL(std::string("http://timeout/file"), res[0].getURI());
- CPPUNIT_ASSERT_EQUAL(std::string("http://timeout/file2"), res[1].getURI());
-
- CPPUNIT_ASSERT_EQUAL((size_t)2, group.getURIResults().size());
- CPPUNIT_ASSERT_EQUAL(std::string("http://finished/file"),
- group.getURIResults()[0].getURI());
- CPPUNIT_ASSERT_EQUAL(std::string("http://unknownerror/file"),
- group.getURIResults()[1].getURI());
-
- res.clear();
-
- group.extractURIResult(res, DownloadResult::TIME_OUT);
- CPPUNIT_ASSERT(res.empty());
- CPPUNIT_ASSERT_EQUAL((size_t)2, group.getURIResults().size());
-}
-
-
} // namespace aria2
diff --git a/test/XmlRpcMethodTest.cc b/test/XmlRpcMethodTest.cc
index e8589d92..5aa86cfa 100644
--- a/test/XmlRpcMethodTest.cc
+++ b/test/XmlRpcMethodTest.cc
@@ -117,7 +117,7 @@ void XmlRpcMethodTest::testAddUri()
_e->_requestGroupMan->getReservedGroups();
CPPUNIT_ASSERT_EQUAL((size_t)1, rgs.size());
CPPUNIT_ASSERT_EQUAL(std::string("http://localhost/"),
- rgs.front()->getRemainingUris().front());
+ rgs.front()->getDownloadContext()->getFirstFileEntry()->getRemainingUris().front());
}
// with options
BDE opt = BDE::dict();
@@ -180,7 +180,7 @@ void XmlRpcMethodTest::testAddUri_withPosition()
m.execute(req2, _e.get());
std::string uri =
- _e->_requestGroupMan->getReservedGroups()[0]->getRemainingUris()[0];
+ _e->_requestGroupMan->getReservedGroups()[0]->getDownloadContext()->getFirstFileEntry()->getRemainingUris()[0];
CPPUNIT_ASSERT_EQUAL(std::string("http://uri2"), uri);
}
@@ -215,9 +215,9 @@ void XmlRpcMethodTest::testAddTorrent()
CPPUNIT_ASSERT(!group.isNull());
CPPUNIT_ASSERT_EQUAL(std::string("/tmp/aria2-0.8.2.tar.bz2"),
group->getFirstFilePath());
- CPPUNIT_ASSERT_EQUAL((size_t)1, group->getRemainingUris().size());
+ CPPUNIT_ASSERT_EQUAL((size_t)1, group->getDownloadContext()->getFirstFileEntry()->getRemainingUris().size());
CPPUNIT_ASSERT_EQUAL(std::string("http://localhost/aria2-0.8.2.tar.bz2"),
- group->getRemainingUris()[0]);
+ group->getDownloadContext()->getFirstFileEntry()->getRemainingUris()[0]);
}
// with options
BDE opt = BDE::dict();
@@ -349,8 +349,7 @@ void XmlRpcMethodTest::testAddMetalink_withPosition()
void XmlRpcMethodTest::testChangeOption()
{
- SharedHandle<RequestGroup> group
- (new RequestGroup(_option, std::deque<std::string>()));
+ SharedHandle<RequestGroup> group(new RequestGroup(_option));
_e->_requestGroupMan->addReservedGroup(group);
ChangeOptionXmlRpcMethod m;
@@ -374,8 +373,7 @@ void XmlRpcMethodTest::testChangeOption()
void XmlRpcMethodTest::testChangeOption_withBadOption()
{
- SharedHandle<RequestGroup> group
- (new RequestGroup(_option, std::deque<std::string>()));
+ SharedHandle<RequestGroup> group(new RequestGroup(_option));
_e->_requestGroupMan->addReservedGroup(group);
ChangeOptionXmlRpcMethod m;