RequestFactoryTest.cc 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. #include "RequestFactory.h"
  2. #include "prefs.h"
  3. #include "NetrcAuthResolver.h"
  4. #include "DefaultAuthResolver.h"
  5. #include <cppunit/extensions/HelperMacros.h>
  6. using namespace std;
  7. class RequestFactoryTest : public CppUnit::TestFixture {
  8. CPPUNIT_TEST_SUITE(RequestFactoryTest);
  9. CPPUNIT_TEST(testCreateHttpAuthResolver_netrc);
  10. CPPUNIT_TEST(testCreateHttpAuthResolver_def);
  11. CPPUNIT_TEST(testCreateFtpAuthResolver_netrc);
  12. CPPUNIT_TEST(testCreateFtpAuthResolver_def);
  13. CPPUNIT_TEST(testCreateHttpProxyAuthResolver_netrc);
  14. CPPUNIT_TEST(testCreateHttpProxyAuthResolver_def);
  15. CPPUNIT_TEST_SUITE_END();
  16. private:
  17. NetrcHandle _netrc;
  18. SharedHandle<Option> _option;
  19. RequestFactoryHandle _factory;
  20. public:
  21. void setUp()
  22. {
  23. _netrc = new Netrc();
  24. _option = new Option();
  25. _factory = new RequestFactory();
  26. _factory->setNetrc(_netrc);
  27. _factory->setOption(_option.get());
  28. }
  29. void testCreateHttpAuthResolver_netrc();
  30. void testCreateHttpAuthResolver_def();
  31. void testCreateFtpAuthResolver_netrc();
  32. void testCreateFtpAuthResolver_def();
  33. void testCreateHttpProxyAuthResolver_netrc();
  34. void testCreateHttpProxyAuthResolver_def();
  35. };
  36. CPPUNIT_TEST_SUITE_REGISTRATION( RequestFactoryTest );
  37. void RequestFactoryTest::testCreateHttpAuthResolver_netrc()
  38. {
  39. _option->put(PREF_NO_NETRC, V_FALSE);
  40. _option->put(PREF_HTTP_USER, "foo");
  41. _option->put(PREF_HTTP_PASSWD, "bar");
  42. DefaultAuthResolverHandle defResolver = _factory->createHttpAuthResolver();
  43. CPPUNIT_ASSERT(!defResolver.isNull());
  44. CPPUNIT_ASSERT(!defResolver->getUserDefinedAuthConfig().isNull());
  45. CPPUNIT_ASSERT_EQUAL(string("foo:bar"),
  46. defResolver->getUserDefinedAuthConfig()->getAuthText());
  47. /*
  48. NetrcAuthResolverHandle netrcResolver = _factory->createHttpAuthResolver();
  49. CPPUNIT_ASSERT(!netrcResolver.isNull());
  50. CPPUNIT_ASSERT(!netrcResolver->getNetrc().isNull());
  51. CPPUNIT_ASSERT(netrcResolver->getUserDefinedAuthConfig().isNull());
  52. */
  53. }
  54. void RequestFactoryTest::testCreateHttpAuthResolver_def()
  55. {
  56. _option->put(PREF_NO_NETRC, V_TRUE);
  57. _option->put(PREF_HTTP_USER, "foo");
  58. _option->put(PREF_HTTP_PASSWD, "bar");
  59. DefaultAuthResolverHandle defResolver = _factory->createHttpAuthResolver();
  60. CPPUNIT_ASSERT(!defResolver.isNull());
  61. CPPUNIT_ASSERT(!defResolver->getUserDefinedAuthConfig().isNull());
  62. CPPUNIT_ASSERT_EQUAL(string("foo:bar"),
  63. defResolver->getUserDefinedAuthConfig()->getAuthText());
  64. }
  65. void RequestFactoryTest::testCreateFtpAuthResolver_netrc()
  66. {
  67. _option->put(PREF_NO_NETRC, V_FALSE);
  68. NetrcAuthResolverHandle netrcResolver = _factory->createFtpAuthResolver();
  69. CPPUNIT_ASSERT(!netrcResolver.isNull());
  70. CPPUNIT_ASSERT(!netrcResolver->getNetrc().isNull());
  71. CPPUNIT_ASSERT(netrcResolver->getUserDefinedAuthConfig().isNull());
  72. CPPUNIT_ASSERT_EQUAL(string("anonymous:ARIA2USER@"),
  73. netrcResolver->getDefaultAuthConfig()->getAuthText());
  74. }
  75. void RequestFactoryTest::testCreateFtpAuthResolver_def()
  76. {
  77. _option->put(PREF_NO_NETRC, V_TRUE);
  78. _option->put(PREF_FTP_USER, "foo");
  79. _option->put(PREF_FTP_PASSWD, "bar");
  80. DefaultAuthResolverHandle defResolver = _factory->createFtpAuthResolver();
  81. CPPUNIT_ASSERT(!defResolver.isNull());
  82. CPPUNIT_ASSERT(!defResolver->getUserDefinedAuthConfig().isNull());
  83. CPPUNIT_ASSERT_EQUAL(string("foo:bar"),
  84. defResolver->getUserDefinedAuthConfig()->getAuthText());
  85. CPPUNIT_ASSERT_EQUAL(string("anonymous:ARIA2USER@"),
  86. defResolver->getDefaultAuthConfig()->getAuthText());
  87. }
  88. void RequestFactoryTest::testCreateHttpProxyAuthResolver_netrc()
  89. {
  90. _option->put(PREF_NO_NETRC, V_FALSE);
  91. _option->put(PREF_HTTP_PROXY_USER, "foo");
  92. _option->put(PREF_HTTP_PROXY_PASSWD, "bar");
  93. DefaultAuthResolverHandle defResolver = _factory->createHttpProxyAuthResolver();
  94. CPPUNIT_ASSERT(!defResolver.isNull());
  95. CPPUNIT_ASSERT(!defResolver->getUserDefinedAuthConfig().isNull());
  96. CPPUNIT_ASSERT_EQUAL(string("foo:bar"),
  97. defResolver->getUserDefinedAuthConfig()->getAuthText());
  98. /*
  99. NetrcAuthResolverHandle netrcResolver = _factory->createHttpProxyAuthResolver();
  100. CPPUNIT_ASSERT(!netrcResolver.isNull());
  101. CPPUNIT_ASSERT(!netrcResolver->getNetrc().isNull());
  102. CPPUNIT_ASSERT(netrcResolver->getUserDefinedAuthConfig().isNull());
  103. */
  104. }
  105. void RequestFactoryTest::testCreateHttpProxyAuthResolver_def()
  106. {
  107. _option->put(PREF_NO_NETRC, V_TRUE);
  108. _option->put(PREF_HTTP_PROXY_USER, "foo");
  109. _option->put(PREF_HTTP_PROXY_PASSWD, "bar");
  110. DefaultAuthResolverHandle defResolver = _factory->createHttpProxyAuthResolver();
  111. CPPUNIT_ASSERT(!defResolver.isNull());
  112. CPPUNIT_ASSERT(!defResolver->getUserDefinedAuthConfig().isNull());
  113. CPPUNIT_ASSERT_EQUAL(string("foo:bar"),
  114. defResolver->getUserDefinedAuthConfig()->getAuthText());
  115. }