XmlRpcMethodTest.cc 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. #include "XmlRpcMethod.h"
  2. #include <cppunit/extensions/HelperMacros.h>
  3. #include "DownloadEngine.h"
  4. #include "SelectEventPoll.h"
  5. #include "Option.h"
  6. #include "RequestGroupMan.h"
  7. #include "ServerStatMan.h"
  8. #include "RequestGroup.h"
  9. #include "XmlRpcMethodImpl.h"
  10. #include "BDE.h"
  11. #include "OptionParser.h"
  12. #include "OptionHandler.h"
  13. #include "XmlRpcRequest.h"
  14. namespace aria2 {
  15. namespace xmlrpc {
  16. class XmlRpcMethodTest:public CppUnit::TestFixture {
  17. CPPUNIT_TEST_SUITE(XmlRpcMethodTest);
  18. CPPUNIT_TEST(testAddURI);
  19. CPPUNIT_TEST_SUITE_END();
  20. private:
  21. SharedHandle<DownloadEngine> _e;
  22. SharedHandle<Option> _option;
  23. public:
  24. void setUp()
  25. {
  26. _option.reset(new Option());
  27. _e.reset(new DownloadEngine(SharedHandle<EventPoll>(new SelectEventPoll())));
  28. _e->option = _option.get();
  29. _e->_requestGroupMan.reset
  30. (new RequestGroupMan(std::deque<SharedHandle<RequestGroup> >(),
  31. 1, _option.get()));
  32. }
  33. void tearDown() {}
  34. void testAddURI();
  35. };
  36. CPPUNIT_TEST_SUITE_REGISTRATION(XmlRpcMethodTest);
  37. void XmlRpcMethodTest::testAddURI()
  38. {
  39. AddURIXmlRpcMethod m;
  40. XmlRpcRequest req("aria2.addURI", BDE::list());
  41. req._params << BDE::list();
  42. req._params[0] << BDE("http://localhost/");
  43. std::string res = m.execute(req, _e.get());
  44. const std::deque<SharedHandle<RequestGroup> > rgs =
  45. _e->_requestGroupMan->getReservedGroups();
  46. CPPUNIT_ASSERT_EQUAL((size_t)1, rgs.size());
  47. CPPUNIT_ASSERT_EQUAL(std::string("http://localhost/"),
  48. rgs.front()->getRemainingUris().front());
  49. CPPUNIT_ASSERT(res.find("OK") != std::string::npos);
  50. }
  51. } // namespace xmlrpc
  52. } // namespace aria2