diff options
Diffstat (limited to 'test/XmlRpcMethodTest.cc')
| -rw-r--r-- | test/XmlRpcMethodTest.cc | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/test/XmlRpcMethodTest.cc b/test/XmlRpcMethodTest.cc new file mode 100644 index 00000000..8d7afd88 --- /dev/null +++ b/test/XmlRpcMethodTest.cc @@ -0,0 +1,65 @@ +#include "XmlRpcMethod.h" + +#include <cppunit/extensions/HelperMacros.h> + +#include "DownloadEngine.h" +#include "SelectEventPoll.h" +#include "Option.h" +#include "RequestGroupMan.h" +#include "ServerStatMan.h" +#include "RequestGroup.h" +#include "XmlRpcMethodImpl.h" +#include "BDE.h" +#include "OptionParser.h" +#include "OptionHandler.h" +#include "XmlRpcRequest.h" + +namespace aria2 { + +namespace xmlrpc { + +class XmlRpcMethodTest:public CppUnit::TestFixture { + + CPPUNIT_TEST_SUITE(XmlRpcMethodTest); + CPPUNIT_TEST(testAddURI); + CPPUNIT_TEST_SUITE_END(); +private: + SharedHandle<DownloadEngine> _e; + SharedHandle<Option> _option; +public: + void setUp() + { + _option.reset(new Option()); + _e.reset(new DownloadEngine(SharedHandle<EventPoll>(new SelectEventPoll()))); + _e->option = _option.get(); + _e->_requestGroupMan.reset + (new RequestGroupMan(std::deque<SharedHandle<RequestGroup> >(), + 1, _option.get())); + } + + void tearDown() {} + + void testAddURI(); +}; + + +CPPUNIT_TEST_SUITE_REGISTRATION(XmlRpcMethodTest); + +void XmlRpcMethodTest::testAddURI() +{ + AddURIXmlRpcMethod m; + XmlRpcRequest req("aria2.addURI", BDE::list()); + req._params << BDE::list(); + req._params[0] << BDE("http://localhost/"); + std::string res = m.execute(req, _e.get()); + const std::deque<SharedHandle<RequestGroup> > rgs = + _e->_requestGroupMan->getReservedGroups(); + CPPUNIT_ASSERT_EQUAL((size_t)1, rgs.size()); + CPPUNIT_ASSERT_EQUAL(std::string("http://localhost/"), + rgs.front()->getRemainingUris().front()); + CPPUNIT_ASSERT(res.find("OK") != std::string::npos); +} + +} // namespace xmlrpc + +} // namespace aria2 |
