NetrcAuthResolverTest.cc 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. #include "NetrcAuthResolver.h"
  2. #include "prefs.h"
  3. #include <cppunit/extensions/HelperMacros.h>
  4. using namespace std;
  5. class NetrcAuthResolverTest : public CppUnit::TestFixture {
  6. CPPUNIT_TEST_SUITE(NetrcAuthResolverTest);
  7. CPPUNIT_TEST(testResolveAuthConfig_without_userDefined);
  8. CPPUNIT_TEST(testResolveAuthConfig_with_userDefined);
  9. CPPUNIT_TEST_SUITE_END();
  10. private:
  11. NetrcHandle _netrc;
  12. //SharedHandle<Option> _option;
  13. NetrcAuthResolverHandle _resolver;
  14. public:
  15. void setUp()
  16. {
  17. _netrc = new Netrc();
  18. _netrc->addAuthenticator(new Authenticator("localhost", "name", "passwd", "account"));
  19. _netrc->addAuthenticator(new DefaultAuthenticator("default", "defaultpasswd", "defaultaccount"));
  20. //_option = new Option();
  21. _resolver = new NetrcAuthResolver();
  22. _resolver->setNetrc(_netrc);
  23. _resolver->setDefaultAuthConfig(new AuthConfig("foo", "bar"));
  24. }
  25. void testResolveAuthConfig_without_userDefined();
  26. void testResolveAuthConfig_with_userDefined();
  27. };
  28. CPPUNIT_TEST_SUITE_REGISTRATION( NetrcAuthResolverTest );
  29. void NetrcAuthResolverTest::testResolveAuthConfig_without_userDefined()
  30. {
  31. AuthConfigHandle authConfig = _resolver->resolveAuthConfig("localhost");
  32. CPPUNIT_ASSERT_EQUAL(string("name:passwd"), authConfig->getAuthText());
  33. authConfig = _resolver->resolveAuthConfig("mymachine");
  34. CPPUNIT_ASSERT_EQUAL(string("default:defaultpasswd"), authConfig->getAuthText());
  35. _resolver->setNetrc(0);
  36. authConfig = _resolver->resolveAuthConfig("localhost");
  37. CPPUNIT_ASSERT_EQUAL(string("foo:bar"), authConfig->getAuthText());
  38. }
  39. void NetrcAuthResolverTest::testResolveAuthConfig_with_userDefined()
  40. {
  41. _resolver->setUserDefinedAuthConfig(new AuthConfig("myname", "mypasswd"));
  42. AuthConfigHandle authConfig = _resolver->resolveAuthConfig("localhost");
  43. CPPUNIT_ASSERT_EQUAL(string("myname:mypasswd"), authConfig->getAuthText());
  44. authConfig = _resolver->resolveAuthConfig("mymachine");
  45. CPPUNIT_ASSERT_EQUAL(string("myname:mypasswd"), authConfig->getAuthText());
  46. _resolver->setNetrc(0);
  47. authConfig = _resolver->resolveAuthConfig("mymachine");
  48. CPPUNIT_ASSERT_EQUAL(string("myname:mypasswd"), authConfig->getAuthText());
  49. }