diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2009-06-23 15:14:24 +0000 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2009-06-23 15:14:24 +0000 |
| commit | 6b2ab3ffc0d96d66723fa8b43552fd09d2108781 (patch) | |
| tree | 8d556ed0e0ad4be116396d1fcfda16d90288bc73 /test/XmlRpcMethodTest.cc | |
| parent | 100ed86b5caebf0c9d68d36378f052dfe0ad56e9 (diff) | |
2009-06-24 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added tellWaiting XML-RPC method.
* src/SingleFileDownloadContext.cc
* src/XmlRpcMethodFactory.cc
* src/XmlRpcMethodImpl.cc
* src/XmlRpcMethodImpl.h
* test/XmlRpcMethodTest.cc
Diffstat (limited to 'test/XmlRpcMethodTest.cc')
| -rw-r--r-- | test/XmlRpcMethodTest.cc | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/test/XmlRpcMethodTest.cc b/test/XmlRpcMethodTest.cc index 41f02f5b..cfc763b2 100644 --- a/test/XmlRpcMethodTest.cc +++ b/test/XmlRpcMethodTest.cc @@ -49,6 +49,8 @@ class XmlRpcMethodTest:public CppUnit::TestFixture { CPPUNIT_TEST(testChangeGlobalOption); CPPUNIT_TEST(testChangeGlobalOption_withBadOption); CPPUNIT_TEST(testTellStatus_withoutGid); + CPPUNIT_TEST(testTellWaiting); + CPPUNIT_TEST(testTellWaiting_fail); CPPUNIT_TEST(testNoSuchMethod); CPPUNIT_TEST_SUITE_END(); private: @@ -60,6 +62,7 @@ public: RequestGroup::resetGIDCounter(); _option.reset(new Option()); _option->put(PREF_DIR, "/tmp"); + _option->put(PREF_SEGMENT_SIZE, "1048576"); _e.reset(new DownloadEngine(SharedHandle<EventPoll>(new SelectEventPoll()))); _e->option = _option.get(); _e->_requestGroupMan.reset @@ -93,6 +96,8 @@ public: void testChangeGlobalOption(); void testChangeGlobalOption_withBadOption(); void testTellStatus_withoutGid(); + void testTellWaiting(); + void testTellWaiting_fail(); void testNoSuchMethod(); }; @@ -461,6 +466,56 @@ void XmlRpcMethodTest::testTellStatus_withoutGid() CPPUNIT_ASSERT_EQUAL(1, res._code); } +static void addUri(const std::string& uri, + const SharedHandle<DownloadEngine>& e) +{ + AddUriXmlRpcMethod m; + XmlRpcRequest req("aria2.addUri", BDE::list()); + req._params << BDE::list(); + req._params[0] << BDE(uri); + CPPUNIT_ASSERT_EQUAL(0, m.execute(req, e.get())._code); +} + +void XmlRpcMethodTest::testTellWaiting() +{ + addUri("http://1/", _e); + addUri("http://2/", _e); + addUri("http://3/", _e); + addUri("http://4/", _e); + + TellWaitingXmlRpcMethod m; + XmlRpcRequest req("aria2.tellWaiting", BDE::list()); + req._params << BDE((int64_t)1); + req._params << BDE((int64_t)2); + XmlRpcResponse res = m.execute(req, _e.get()); + CPPUNIT_ASSERT_EQUAL(0, res._code); + CPPUNIT_ASSERT_EQUAL((size_t)2, res._param.size()); + CPPUNIT_ASSERT_EQUAL(std::string("2"), res._param[0]["gid"].s()); + CPPUNIT_ASSERT_EQUAL(std::string("3"), res._param[1]["gid"].s()); + // waiting.size() == offset+num + req = XmlRpcRequest("aria2.tellWaiting", BDE::list()); + req._params << BDE((int64_t)1); + req._params << BDE((int64_t)3); + res = m.execute(req, _e.get()); + CPPUNIT_ASSERT_EQUAL(0, res._code); + CPPUNIT_ASSERT_EQUAL((size_t)3, res._param.size()); + // waiting.size() < offset+num + req = XmlRpcRequest("aria2.tellWaiting", BDE::list()); + req._params << BDE((int64_t)1); + req._params << BDE((int64_t)4); + res = m.execute(req, _e.get()); + CPPUNIT_ASSERT_EQUAL(0, res._code); + CPPUNIT_ASSERT_EQUAL((size_t)3, res._param.size()); +} + +void XmlRpcMethodTest::testTellWaiting_fail() +{ + TellWaitingXmlRpcMethod m; + XmlRpcRequest req("aria2.tellWaiting", BDE::list()); + XmlRpcResponse res = m.execute(req, _e.get()); + CPPUNIT_ASSERT_EQUAL(1, res._code); +} + } // namespace xmlrpc } // namespace aria2 |
