diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2007-03-21 10:19:23 +0000 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2007-03-21 10:19:23 +0000 |
| commit | 5649cf6cda777cff7749b12f5286272959520a4f (patch) | |
| tree | 3cd22d16b00c091e72b2d55a9095041e9797d003 /test/RequestTest.cc | |
| parent | 0f514b0db108a3dd2a6e0744c717042e6884a7fb (diff) | |
2007-03-21 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
* src/Request.h: Use AuthResolver to get authentication
information.
* src/main.cc: Made RequestFactory a singleton object. Netrc is
now
set to RequestFactory object.
* src/AuthConfigItem.h, src/AuthConfigItem.cc: Removed.
* src/AuthConfig.h, src/AuthConfig.cc: Rewritten.
* src/TrackerWatcherComand.cc: Use RequestFactorySingletonHolder
to
create Request object.
Diffstat (limited to 'test/RequestTest.cc')
| -rw-r--r-- | test/RequestTest.cc | 146 |
1 files changed, 52 insertions, 94 deletions
diff --git a/test/RequestTest.cc b/test/RequestTest.cc index d76f2c55..1af40569 100644 --- a/test/RequestTest.cc +++ b/test/RequestTest.cc @@ -1,5 +1,7 @@ #include "Request.h" #include "Netrc.h" +#include "DefaultAuthResolver.h" +#include "NetrcAuthResolver.h" #include <cppunit/extensions/HelperMacros.h> class RequestTest:public CppUnit::TestFixture { @@ -25,12 +27,10 @@ class RequestTest:public CppUnit::TestFixture { CPPUNIT_TEST(testSafeChar); CPPUNIT_TEST(testInnerLink); CPPUNIT_TEST(testMetalink); - CPPUNIT_TEST(testResolveHttpAuthConfigItem); - CPPUNIT_TEST(testResolveHttpAuthConfigItem_noCandidate); - CPPUNIT_TEST(testResolveHttpProxyAuthConfigItem); - CPPUNIT_TEST(testResolveHttpProxyAuthConfigItem_noCandidate); - CPPUNIT_TEST(testResolveFtpAuthConfigItem); - CPPUNIT_TEST(testResolveFtpAuthConfigItem_noCandidate); + CPPUNIT_TEST(testResolveHttpAuthConfig); + CPPUNIT_TEST(testResolveHttpAuthConfig_noCandidate); + CPPUNIT_TEST(testResolveHttpProxyAuthConfig); + CPPUNIT_TEST(testResolveFtpAuthConfig); CPPUNIT_TEST_SUITE_END(); public: @@ -54,12 +54,10 @@ public: void testSafeChar(); void testInnerLink(); void testMetalink(); - void testResolveHttpAuthConfigItem(); - void testResolveHttpAuthConfigItem_noCandidate(); - void testResolveHttpProxyAuthConfigItem(); - void testResolveHttpProxyAuthConfigItem_noCandidate(); - void testResolveFtpAuthConfigItem(); - void testResolveFtpAuthConfigItem_noCandidate(); + void testResolveHttpAuthConfig(); + void testResolveHttpAuthConfig_noCandidate(); + void testResolveHttpProxyAuthConfig(); + void testResolveFtpAuthConfig(); }; @@ -306,117 +304,77 @@ void RequestTest::testMetalink() { CPPUNIT_ASSERT(!v2); } -void RequestTest::testResolveHttpAuthConfigItem() +void RequestTest::testResolveHttpAuthConfig() { Request req; req.setUrl("http://localhost/download/aria2-1.0.0.tar.bz2"); - // with no authConfig - CPPUNIT_ASSERT(req.resolveHttpAuthConfigItem().isNull()); + // with DefaultAuthResolver + DefaultAuthResolverHandle defaultAuthResolver = new DefaultAuthResolver(); + req.setHttpAuthResolver(defaultAuthResolver); + CPPUNIT_ASSERT(!req.resolveHttpAuthConfig().isNull()); + CPPUNIT_ASSERT_EQUAL(string(":"), + req.resolveHttpAuthConfig()->getAuthText()); // with Netrc NetrcHandle netrc = new Netrc(); netrc->addAuthenticator(new DefaultAuthenticator("default", "defaultpassword", "defaultaccount")); - NetrcSingletonHolder::instance(netrc); - CPPUNIT_ASSERT(!req.resolveHttpAuthConfigItem().isNull()); - AuthConfigItemHandle authConfig1 = req.resolveHttpAuthConfigItem(); - CPPUNIT_ASSERT_EQUAL(string("default"), authConfig1->getUser()); - CPPUNIT_ASSERT_EQUAL(string("defaultpassword"), authConfig1->getPassword()); + NetrcAuthResolverHandle netrcAuthResolver = new NetrcAuthResolver(); + netrcAuthResolver->setNetrc(netrc); + req.setHttpAuthResolver(netrcAuthResolver); + AuthConfigHandle authConfig1 = req.resolveHttpAuthConfig(); + CPPUNIT_ASSERT(!authConfig1.isNull()); + CPPUNIT_ASSERT_EQUAL(string("default:defaultpassword"), + authConfig1->getAuthText()); // with Netrc + user defined - AuthConfigHandle authConfig = new AuthConfig(); - authConfig->setHttpAuthConfigItem("userDefinedUser", "userDefinedPassword"); - req.setUserDefinedAuthConfig(authConfig); - CPPUNIT_ASSERT(!req.resolveHttpAuthConfigItem().isNull()); - AuthConfigItemHandle authConfig2 = req.resolveHttpAuthConfigItem(); - CPPUNIT_ASSERT_EQUAL(string("userDefinedUser"), authConfig2->getUser()); - CPPUNIT_ASSERT_EQUAL(string("userDefinedPassword"), authConfig2->getPassword()); + AuthConfigHandle authConfig = + new AuthConfig("userDefinedUser", "userDefinedPassword"); + netrcAuthResolver->setUserDefinedAuthConfig(authConfig); + AuthConfigHandle authConfig2 = req.resolveHttpAuthConfig(); + CPPUNIT_ASSERT(!authConfig2.isNull()); + CPPUNIT_ASSERT_EQUAL(string("userDefinedUser:userDefinedPassword"), + authConfig2->getAuthText()); } -void RequestTest::testResolveHttpAuthConfigItem_noCandidate() +void RequestTest::testResolveHttpAuthConfig_noCandidate() { Request req; req.setUrl("http://localhost/download/aria2-1.0.0.tar.bz2"); - NetrcHandle netrc = new Netrc(); - netrc->addAuthenticator(new Authenticator("localhost2", "default", "defaultpassword", "defaultaccount")); - NetrcSingletonHolder::instance(netrc); - CPPUNIT_ASSERT(req.resolveHttpAuthConfigItem().isNull()); + DefaultAuthResolverHandle defaultAuthResolver = new DefaultAuthResolver(); + req.setHttpAuthResolver(defaultAuthResolver); + CPPUNIT_ASSERT_EQUAL(string(":"), + req.resolveHttpAuthConfig()->getAuthText()); } -void RequestTest::testResolveHttpProxyAuthConfigItem() +void RequestTest::testResolveHttpProxyAuthConfig() { Request req; req.setUrl("http://localhost/download/aria2-1.0.0.tar.bz2"); - // with no authConfig - CPPUNIT_ASSERT(req.resolveHttpProxyAuthConfigItem().isNull()); - // with Netrc NetrcHandle netrc = new Netrc(); netrc->addAuthenticator(new DefaultAuthenticator("default", "defaultpassword", "defaultaccount")); - NetrcSingletonHolder::instance(netrc); - CPPUNIT_ASSERT(!req.resolveHttpProxyAuthConfigItem().isNull()); - AuthConfigItemHandle authConfig1 = req.resolveHttpProxyAuthConfigItem(); - CPPUNIT_ASSERT_EQUAL(string("default"), authConfig1->getUser()); - CPPUNIT_ASSERT_EQUAL(string("defaultpassword"), authConfig1->getPassword()); - - // with Netrc + user defined - AuthConfigHandle authConfig = new AuthConfig(); - authConfig->setHttpProxyAuthConfigItem("userDefinedUser", "userDefinedPassword"); - req.setUserDefinedAuthConfig(authConfig); - CPPUNIT_ASSERT(!req.resolveHttpProxyAuthConfigItem().isNull()); - AuthConfigItemHandle authConfig2 = req.resolveHttpProxyAuthConfigItem(); - CPPUNIT_ASSERT_EQUAL(string("userDefinedUser"), authConfig2->getUser()); - CPPUNIT_ASSERT_EQUAL(string("userDefinedPassword"), authConfig2->getPassword()); -} - -void RequestTest::testResolveHttpProxyAuthConfigItem_noCandidate() -{ - Request req; - req.setUrl("http://localhost/download/aria2-1.0.0.tar.bz2"); - - NetrcHandle netrc = new Netrc(); - netrc->addAuthenticator(new Authenticator("localhost2", "default", "defaultpassword", "defaultaccount")); - NetrcSingletonHolder::instance(netrc); - CPPUNIT_ASSERT(req.resolveHttpProxyAuthConfigItem().isNull()); + NetrcAuthResolverHandle netrcAuthResolver = new NetrcAuthResolver(); + netrcAuthResolver->setNetrc(netrc); + req.setHttpProxyAuthResolver(netrcAuthResolver); + AuthConfigHandle authConfig1 = req.resolveHttpProxyAuthConfig(); + CPPUNIT_ASSERT(!authConfig1.isNull()); + CPPUNIT_ASSERT_EQUAL(string("default:defaultpassword"), + authConfig1->getAuthText()); } -void RequestTest::testResolveFtpAuthConfigItem() +void RequestTest::testResolveFtpAuthConfig() { Request req; req.setUrl("http://localhost/download/aria2-1.0.0.tar.bz2"); - // with no authConfig - CPPUNIT_ASSERT(!req.resolveFtpAuthConfigItem().isNull()); - CPPUNIT_ASSERT_EQUAL(string("anonymous"), req.resolveFtpAuthConfigItem()->getUser()); - CPPUNIT_ASSERT_EQUAL(string("ARIA2USER@"), req.resolveFtpAuthConfigItem()->getPassword()); - // with Netrc NetrcHandle netrc = new Netrc(); netrc->addAuthenticator(new DefaultAuthenticator("default", "defaultpassword", "defaultaccount")); - NetrcSingletonHolder::instance(netrc); - CPPUNIT_ASSERT(!req.resolveFtpAuthConfigItem().isNull()); - AuthConfigItemHandle authConfig1 = req.resolveFtpAuthConfigItem(); - CPPUNIT_ASSERT_EQUAL(string("default"), authConfig1->getUser()); - CPPUNIT_ASSERT_EQUAL(string("defaultpassword"), authConfig1->getPassword()); - - // with Netrc + user defined - AuthConfigHandle authConfig = new AuthConfig(); - authConfig->setFtpAuthConfigItem("userDefinedUser", "userDefinedPassword"); - req.setUserDefinedAuthConfig(authConfig); - CPPUNIT_ASSERT(!req.resolveFtpAuthConfigItem().isNull()); - AuthConfigItemHandle authConfig2 = req.resolveFtpAuthConfigItem(); - CPPUNIT_ASSERT_EQUAL(string("userDefinedUser"), authConfig2->getUser()); - CPPUNIT_ASSERT_EQUAL(string("userDefinedPassword"), authConfig2->getPassword()); -} - -void RequestTest::testResolveFtpAuthConfigItem_noCandidate() -{ - Request req; - req.setUrl("http://localhost/download/aria2-1.0.0.tar.bz2"); - - NetrcHandle netrc = new Netrc(); - netrc->addAuthenticator(new Authenticator("localhost2", "default", "defaultpassword", "defaultaccount")); - NetrcSingletonHolder::instance(netrc); - CPPUNIT_ASSERT(!req.resolveFtpAuthConfigItem().isNull()); - CPPUNIT_ASSERT_EQUAL(string("anonymous"), req.resolveFtpAuthConfigItem()->getUser()); - CPPUNIT_ASSERT_EQUAL(string("ARIA2USER@"), req.resolveFtpAuthConfigItem()->getPassword()); + NetrcAuthResolverHandle netrcAuthResolver = new NetrcAuthResolver(); + netrcAuthResolver->setNetrc(netrc); + req.setFtpAuthResolver(netrcAuthResolver); + AuthConfigHandle authConfig1 = req.resolveFtpAuthConfig(); + CPPUNIT_ASSERT(!authConfig1.isNull()); + CPPUNIT_ASSERT_EQUAL(string("default:defaultpassword"), + authConfig1->getAuthText()); } |
