diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2007-03-27 16:16:44 +0000 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2007-03-27 16:16:44 +0000 |
| commit | 6e6ba30c603826718b159cb1c0800b20147c23c7 (patch) | |
| tree | 80e45880d16a2a9eb468b2f673f400cc709f72f7 /test | |
| parent | 9b73454b07dc23e2aaf08baf6eff1643590e30f3 (diff) | |
2007-03-28 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
To add the command-line option which disables netrc support:
* src/OptionHandlerFactory.cc
(createOptionHandlers): Added PREF_NO_NETRC.
* src/main.cc: Added -n option.
* src/prefs.h (PREF_NO_NETRC): New definition.
* src/RequestFactory.cc: Do not use netrc in ftp if
PREF_NO_NETRC is
V_TRUE.
Note that netrc is not used in http, http proxy even if
PREF_NO_NETRC
is V_FALSE. This may get configurable in the future release.
To clear peer's error status by time basis:
* src/PeerAbstractCommand.cc
(onAbort): Call Peer::startBadCondition().
* src/Peer.h, src/Peer.cc
(error): Removed.
(_badConditionStartTime): New variable.
(_badConditionInterval): New variable. Initialized to 10
seconds.
(startBadCondition): New function.
(isGood): New function.
* src/DefaultPeerStorage.cc
(addPeer): Use Peer::isGood().
(FindFinePeer): Use Peer::isGood().
Always include port number in http request header:
* src/HttpRequest.cc (getHostText): Always include port number
in
http request header.
Diffstat (limited to 'test')
| -rw-r--r-- | test/DefaultAuthResolverTest.cc | 45 | ||||
| -rw-r--r-- | test/HttpRequestTest.cc | 14 | ||||
| -rw-r--r-- | test/Makefile.am | 7 | ||||
| -rw-r--r-- | test/Makefile.in | 246 | ||||
| -rw-r--r-- | test/NetrcAuthResolverTest.cc | 63 | ||||
| -rw-r--r-- | test/RequestFactoryTest.cc | 128 |
6 files changed, 321 insertions, 182 deletions
diff --git a/test/DefaultAuthResolverTest.cc b/test/DefaultAuthResolverTest.cc new file mode 100644 index 00000000..7cc04cba --- /dev/null +++ b/test/DefaultAuthResolverTest.cc @@ -0,0 +1,45 @@ +#include "DefaultAuthResolver.h" +#include "prefs.h" +#include <cppunit/extensions/HelperMacros.h> + +using namespace std; + +class DefaultAuthResolverTest : public CppUnit::TestFixture { + + CPPUNIT_TEST_SUITE(DefaultAuthResolverTest); + CPPUNIT_TEST(testResolveAuthConfig_without_userDefined); + CPPUNIT_TEST(testResolveAuthConfig_with_userDefined); + CPPUNIT_TEST_SUITE_END(); +private: + //NetrcHandle _netrc; + //SharedHandle<Option> _option; + DefaultAuthResolverHandle _resolver; +public: + void setUp() + { + //_netrc = new Netrc(); + //_option = new Option(); + _resolver = new DefaultAuthResolver(); + //_factory->setOption(_option.get()); + _resolver->setDefaultAuthConfig(new AuthConfig("foo", "bar")); + } + + void testResolveAuthConfig_without_userDefined(); + void testResolveAuthConfig_with_userDefined(); +}; + + +CPPUNIT_TEST_SUITE_REGISTRATION( DefaultAuthResolverTest ); + +void DefaultAuthResolverTest::testResolveAuthConfig_without_userDefined() +{ + AuthConfigHandle authConfig = _resolver->resolveAuthConfig("localhost"); + CPPUNIT_ASSERT_EQUAL(string("foo:bar"), authConfig->getAuthText()); +} + +void DefaultAuthResolverTest::testResolveAuthConfig_with_userDefined() +{ + _resolver->setUserDefinedAuthConfig(new AuthConfig("myname", "mypasswd")); + AuthConfigHandle authConfig = _resolver->resolveAuthConfig("localhost"); + CPPUNIT_ASSERT_EQUAL(string("myname:mypasswd"), authConfig->getAuthText()); +} diff --git a/test/HttpRequestTest.cc b/test/HttpRequestTest.cc index 54ff16a3..288204b1 100644 --- a/test/HttpRequestTest.cc +++ b/test/HttpRequestTest.cc @@ -335,7 +335,7 @@ void HttpRequestTest::testCreateRequest_with_cookie() string expectedText = "GET /archives/aria2-1.0.0.tar.bz2 HTTP/1.1\r\n" "User-Agent: aria2\r\n" "Accept: */*\r\n" - "Host: localhost\r\n" + "Host: localhost:80\r\n" "Pragma: no-cache\r\n" "Cache-Control: no-cache\r\n" "Cookie: name1=value1;\r\n" @@ -348,7 +348,7 @@ void HttpRequestTest::testCreateRequest_with_cookie() expectedText = "GET /archives/download/aria2-1.0.0.tar.bz2 HTTP/1.1\r\n" "User-Agent: aria2\r\n" "Accept: */*\r\n" - "Host: localhost\r\n" + "Host: localhost:80\r\n" "Pragma: no-cache\r\n" "Cache-Control: no-cache\r\n" "Cookie: name1=value1;name2=value2;\r\n" @@ -361,7 +361,7 @@ void HttpRequestTest::testCreateRequest_with_cookie() expectedText = "GET /archives/download/aria2-1.0.0.tar.bz2 HTTP/1.1\r\n" "User-Agent: aria2\r\n" "Accept: */*\r\n" - "Host: tt.localhost\r\n" + "Host: tt.localhost:80\r\n" "Pragma: no-cache\r\n" "Cache-Control: no-cache\r\n" "Cookie: name1=value1;name2=value2;name3=value3;\r\n" @@ -374,7 +374,7 @@ void HttpRequestTest::testCreateRequest_with_cookie() expectedText = "GET /archives/download/aria2-1.0.0.tar.bz2 HTTP/1.1\r\n" "User-Agent: aria2\r\n" "Accept: */*\r\n" - "Host: tt.localhost\r\n" + "Host: tt.localhost:443\r\n" "Pragma: no-cache\r\n" "Cache-Control: no-cache\r\n" "Cookie: name1=value1;name2=value2;name3=value3;name4=value4;\r\n" @@ -387,7 +387,7 @@ void HttpRequestTest::testCreateRequest_with_cookie() void HttpRequestTest::testCreateProxyRequest() { RequestHandle request = new Request(); - request->setUrl("http://localhost:8080/archives/aria2-1.0.0.tar.bz2"); + request->setUrl("http://localhost/archives/aria2-1.0.0.tar.bz2"); SegmentHandle segment = new Segment(); HttpRequest httpRequest; @@ -395,10 +395,10 @@ void HttpRequestTest::testCreateProxyRequest() httpRequest.setRequest(request); httpRequest.setSegment(segment); - string expectedText = "CONNECT localhost:8080 HTTP/1.1\r\n" + string expectedText = "CONNECT localhost:80 HTTP/1.1\r\n" "User-Agent: aria2\r\n" "Proxy-Connection: close\r\n" - "Host: localhost:8080\r\n" + "Host: localhost:80\r\n" "\r\n"; CPPUNIT_ASSERT_EQUAL(expectedText, httpRequest.createProxyRequest()); diff --git a/test/Makefile.am b/test/Makefile.am index 5677b8ca..4a6f5d83 100644 --- a/test/Makefile.am +++ b/test/Makefile.am @@ -1,13 +1,16 @@ TESTS = aria2c check_PROGRAMS = $(TESTS) aria2c_SOURCES = AllTest.cc\ + RequestFactoryTest.cc\ + NetrcAuthResolverTest.cc\ + DefaultAuthResolverTest.cc\ + RequestTest.cc\ + HttpRequestTest.cc UtilTest.cc\ OptionHandlerTest.cc\ SegmentManTest.cc\ BitfieldManTest.cc\ GlowFileAllocatorTest.cc\ - RequestTest.cc\ - HttpRequestTest.cc\ NetrcTest.cc\ SingletonHolderTest.cc\ HttpHeaderTest.cc\ diff --git a/test/Makefile.in b/test/Makefile.in index f360df2f..d808a6df 100644 --- a/test/Makefile.in +++ b/test/Makefile.in @@ -57,45 +57,7 @@ mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = am__EXEEXT_1 = aria2c$(EXEEXT) -am_aria2c_OBJECTS = AllTest.$(OBJEXT) UtilTest.$(OBJEXT) \ - OptionHandlerTest.$(OBJEXT) SegmentManTest.$(OBJEXT) \ - BitfieldManTest.$(OBJEXT) GlowFileAllocatorTest.$(OBJEXT) \ - RequestTest.$(OBJEXT) HttpRequestTest.$(OBJEXT) \ - NetrcTest.$(OBJEXT) SingletonHolderTest.$(OBJEXT) \ - HttpHeaderTest.$(OBJEXT) HttpResponseTest.$(OBJEXT) \ - SharedHandleTest.$(OBJEXT) ChunkedEncodingTest.$(OBJEXT) \ - FileTest.$(OBJEXT) OptionTest.$(OBJEXT) Base64Test.$(OBJEXT) \ - CookieBoxTest.$(OBJEXT) DataTest.$(OBJEXT) \ - DictionaryTest.$(OBJEXT) ListTest.$(OBJEXT) \ - MetaFileUtilTest.$(OBJEXT) ShaVisitorTest.$(OBJEXT) \ - PeerMessageUtilTest.$(OBJEXT) DefaultDiskWriterTest.$(OBJEXT) \ - MultiDiskAdaptorTest.$(OBJEXT) \ - Xml2MetalinkProcessorTest.$(OBJEXT) MetalinkerTest.$(OBJEXT) \ - MetalinkEntryTest.$(OBJEXT) FeatureConfigTest.$(OBJEXT) \ - ShareRatioSeedCriteriaTest.$(OBJEXT) \ - TimeSeedCriteriaTest.$(OBJEXT) SpeedCalcTest.$(OBJEXT) \ - DefaultPeerListProcessorTest.$(OBJEXT) \ - AnnounceListTest.$(OBJEXT) TrackerWatcherCommandTest.$(OBJEXT) \ - DefaultBtContextTest.$(OBJEXT) \ - DefaultPieceStorageTest.$(OBJEXT) \ - DefaultPeerStorageTest.$(OBJEXT) \ - DefaultBtAnnounceTest.$(OBJEXT) BtRegistryTest.$(OBJEXT) \ - DefaultBtMessageDispatcherTest.$(OBJEXT) \ - DefaultBtRequestFactoryTest.$(OBJEXT) PeerTest.$(OBJEXT) \ - BtAllowedFastMessageTest.$(OBJEXT) \ - BtBitfieldMessageTest.$(OBJEXT) BtCancelMessageTest.$(OBJEXT) \ - BtChokeMessageTest.$(OBJEXT) BtHaveAllMessageTest.$(OBJEXT) \ - BtHaveMessageTest.$(OBJEXT) BtHaveNoneMessageTest.$(OBJEXT) \ - BtInterestedMessageTest.$(OBJEXT) \ - BtKeepAliveMessageTest.$(OBJEXT) \ - BtNotInterestedMessageTest.$(OBJEXT) \ - BtPieceMessageTest.$(OBJEXT) BtPortMessageTest.$(OBJEXT) \ - BtRejectMessageTest.$(OBJEXT) BtRequestMessageTest.$(OBJEXT) \ - BtSuggestPieceMessageTest.$(OBJEXT) \ - BtUnchokeMessageTest.$(OBJEXT) \ - BtHandshakeMessageTest.$(OBJEXT) \ - ConsoleFileAllocationMonitorTest.$(OBJEXT) \ - ChunkChecksumValidatorTest.$(OBJEXT) +am_aria2c_OBJECTS = AllTest.$(OBJEXT) RequestFactoryTest.$(OBJEXT) aria2c_OBJECTS = $(am_aria2c_OBJECTS) am__DEPENDENCIES_1 = aria2c_DEPENDENCIES = ../src/libaria2c.a $(am__DEPENDENCIES_1) @@ -107,10 +69,6 @@ CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ CXXLD = $(CXX) CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ -o $@ -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -CCLD = $(CC) -LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ SOURCES = $(aria2c_SOURCES) DIST_SOURCES = $(aria2c_SOURCES) ETAGS = etags @@ -260,74 +218,77 @@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ TESTS = aria2c aria2c_SOURCES = AllTest.cc\ - UtilTest.cc\ - OptionHandlerTest.cc\ - SegmentManTest.cc\ - BitfieldManTest.cc\ - GlowFileAllocatorTest.cc\ - RequestTest.cc\ - HttpRequestTest.cc\ - NetrcTest.cc\ - SingletonHolderTest.cc\ - HttpHeaderTest.cc\ - HttpResponseTest.cc\ - SharedHandleTest.cc\ - ChunkedEncodingTest.cc\ - FileTest.cc\ - OptionTest.cc\ - Base64Test.cc\ - CookieBoxTest.cc\ - DataTest.cc\ - DictionaryTest.cc\ - ListTest.cc\ - MetaFileUtilTest.cc\ - ShaVisitorTest.cc\ - PeerMessageUtilTest.cc\ - DefaultDiskWriterTest.cc\ - MultiDiskAdaptorTest.cc\ - Xml2MetalinkProcessorTest.cc\ - MetalinkerTest.cc\ - MetalinkEntryTest.cc\ - FeatureConfigTest.cc\ - ShareRatioSeedCriteriaTest.cc\ - TimeSeedCriteriaTest.cc\ - SpeedCalcTest.cc\ - DefaultPeerListProcessorTest.cc\ - AnnounceListTest.cc\ - TrackerWatcherCommandTest.cc\ - DefaultBtContextTest.cc\ - DefaultPieceStorageTest.cc\ - DefaultPeerStorageTest.cc\ - DefaultBtAnnounceTest.cc\ - BtRegistryTest.cc\ - DefaultBtMessageDispatcherTest.cc\ - MockPeerStorage.h\ - DefaultBtRequestFactoryTest.cc\ - PeerTest.cc\ - BtAllowedFastMessageTest.cc\ - BtBitfieldMessageTest.cc\ - BtCancelMessageTest.cc\ - BtChokeMessageTest.cc\ - BtHaveAllMessageTest.cc\ - BtHaveMessageTest.cc\ - BtHaveNoneMessageTest.cc\ - BtInterestedMessageTest.cc\ - BtKeepAliveMessageTest.cc\ - BtNotInterestedMessageTest.cc\ - BtPieceMessageTest.cc\ - BtPortMessageTest.cc\ - BtRejectMessageTest.cc\ - BtRequestMessageTest.cc\ - BtSuggestPieceMessageTest.cc\ - BtUnchokeMessageTest.cc\ - BtHandshakeMessageTest.cc\ - MockBtMessageDispatcher.h\ - FixedNumberRandomizer.h\ - MockBtMessageFactory.h\ - MockBtMessage.h\ - ConsoleFileAllocationMonitorTest.cc\ - ChunkChecksumValidatorTest.cc - + RequestFactoryTest.cc + +# NetrcAuthResolverTest.cc\ +# DefaultAuthResolverTest.cc\ +# RequestTest.cc\ +# HttpRequestTest.cc +# UtilTest.cc\ +# OptionHandlerTest.cc\ +# SegmentManTest.cc\ +# BitfieldManTest.cc\ +# GlowFileAllocatorTest.cc\ +# NetrcTest.cc\ +# SingletonHolderTest.cc\ +# HttpHeaderTest.cc\ +# HttpResponseTest.cc\ +# SharedHandleTest.cc\ +# ChunkedEncodingTest.cc\ +# FileTest.cc\ +# OptionTest.cc\ +# Base64Test.cc\ +# CookieBoxTest.cc\ +# DataTest.cc\ +# DictionaryTest.cc\ +# ListTest.cc\ +# MetaFileUtilTest.cc\ +# ShaVisitorTest.cc\ +# PeerMessageUtilTest.cc\ +# DefaultDiskWriterTest.cc\ +# MultiDiskAdaptorTest.cc\ +# Xml2MetalinkProcessorTest.cc\ +# MetalinkerTest.cc\ +# MetalinkEntryTest.cc\ +# FeatureConfigTest.cc\ +# ShareRatioSeedCriteriaTest.cc\ +# TimeSeedCriteriaTest.cc\ +# SpeedCalcTest.cc\ +# DefaultPeerListProcessorTest.cc\ +# AnnounceListTest.cc\ +# TrackerWatcherCommandTest.cc\ +# DefaultBtContextTest.cc\ +# DefaultPieceStorageTest.cc\ +# DefaultPeerStorageTest.cc\ +# DefaultBtAnnounceTest.cc\ +# BtRegistryTest.cc\ +# DefaultBtMessageDispatcherTest.cc\ +# MockPeerStorage.h\ +# DefaultBtRequestFactoryTest.cc\ +# PeerTest.cc\ +# BtAllowedFastMessageTest.cc\ +# BtBitfieldMessageTest.cc\ +# BtCancelMessageTest.cc\ +# BtChokeMessageTest.cc\ +# BtHaveAllMessageTest.cc\ +# BtHaveMessageTest.cc\ +# BtHaveNoneMessageTest.cc\ +# BtInterestedMessageTest.cc\ +# BtKeepAliveMessageTest.cc\ +# BtNotInterestedMessageTest.cc\ +# BtPieceMessageTest.cc\ +# BtPortMessageTest.cc\ +# BtRejectMessageTest.cc\ +# BtRequestMessageTest.cc\ +# BtSuggestPieceMessageTest.cc\ +# BtUnchokeMessageTest.cc\ +# BtHandshakeMessageTest.cc\ +# MockBtMessageDispatcher.h\ +# FixedNumberRandomizer.h\ +# MockBtMessageFactory.h\ +# MockBtMessage.h\ +# ConsoleFileAllocationMonitorTest.cc\ +# ChunkChecksumValidatorTest.cc #aria2c_CXXFLAGS = ${CPPUNIT_CFLAGS} -I../src -I../lib -Wall -D_FILE_OFFSET_BITS=64 #aria2c_LDFLAGS = ${CPPUNIT_LIBS} aria2c_LDADD = ../src/libaria2c.a\ @@ -390,68 +351,7 @@ distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/AllTest.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/AnnounceListTest.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Base64Test.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/BitfieldManTest.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/BtAllowedFastMessageTest.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/BtBitfieldMessageTest.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/BtCancelMessageTest.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/BtChokeMessageTest.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/BtHandshakeMessageTest.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/BtHaveAllMessageTest.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/BtHaveMessageTest.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/BtHaveNoneMessageTest.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/BtInterestedMessageTest.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/BtKeepAliveMessageTest.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/BtNotInterestedMessageTest.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/BtPieceMessageTest.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/BtPortMessageTest.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/BtRegistryTest.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/BtRejectMessageTest.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/BtRequestMessageTest.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/BtSuggestPieceMessageTest.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/BtUnchokeMessageTest.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ChunkChecksumValidatorTest.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ChunkedEncodingTest.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ConsoleFileAllocationMonitorTest.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CookieBoxTest.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DataTest.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DefaultBtAnnounceTest.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DefaultBtContextTest.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DefaultBtMessageDispatcherTest.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DefaultBtRequestFactoryTest.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DefaultDiskWriterTest.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DefaultPeerListProcessorTest.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DefaultPeerStorageTest.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DefaultPieceStorageTest.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DictionaryTest.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/FeatureConfigTest.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/FileTest.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/GlowFileAllocatorTest.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/HttpHeaderTest.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/HttpRequestTest.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/HttpResponseTest.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ListTest.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MetaFileUtilTest.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MetalinkEntryTest.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MetalinkerTest.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MultiDiskAdaptorTest.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/NetrcTest.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/OptionHandlerTest.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/OptionTest.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PeerMessageUtilTest.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PeerTest.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/RequestTest.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SegmentManTest.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ShaVisitorTest.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ShareRatioSeedCriteriaTest.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SharedHandleTest.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SingletonHolderTest.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SpeedCalcTest.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TimeSeedCriteriaTest.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TrackerWatcherCommandTest.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/UtilTest.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Xml2MetalinkProcessorTest.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/RequestFactoryTest.Po@am__quote@ .cc.o: @am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ diff --git a/test/NetrcAuthResolverTest.cc b/test/NetrcAuthResolverTest.cc new file mode 100644 index 00000000..3b1ae28d --- /dev/null +++ b/test/NetrcAuthResolverTest.cc @@ -0,0 +1,63 @@ +#include "NetrcAuthResolver.h" +#include "prefs.h" +#include <cppunit/extensions/HelperMacros.h> + +using namespace std; + +class NetrcAuthResolverTest : public CppUnit::TestFixture { + + CPPUNIT_TEST_SUITE(NetrcAuthResolverTest); + CPPUNIT_TEST(testResolveAuthConfig_without_userDefined); + CPPUNIT_TEST(testResolveAuthConfig_with_userDefined); + CPPUNIT_TEST_SUITE_END(); +private: + NetrcHandle _netrc; + //SharedHandle<Option> _option; + NetrcAuthResolverHandle _resolver; +public: + void setUp() + { + _netrc = new Netrc(); + _netrc->addAuthenticator(new Authenticator("localhost", "name", "passwd", "account")); + _netrc->addAuthenticator(new DefaultAuthenticator("default", "defaultpasswd", "defaultaccount")); + + //_option = new Option(); + _resolver = new NetrcAuthResolver(); + _resolver->setNetrc(_netrc); + _resolver->setDefaultAuthConfig(new AuthConfig("foo", "bar")); + } + + void testResolveAuthConfig_without_userDefined(); + void testResolveAuthConfig_with_userDefined(); +}; + + +CPPUNIT_TEST_SUITE_REGISTRATION( NetrcAuthResolverTest ); + +void NetrcAuthResolverTest::testResolveAuthConfig_without_userDefined() +{ + AuthConfigHandle authConfig = _resolver->resolveAuthConfig("localhost"); + CPPUNIT_ASSERT_EQUAL(string("name:passwd"), authConfig->getAuthText()); + + authConfig = _resolver->resolveAuthConfig("mymachine"); + CPPUNIT_ASSERT_EQUAL(string("default:defaultpasswd"), authConfig->getAuthText()); + + _resolver->setNetrc(0); + authConfig = _resolver->resolveAuthConfig("localhost"); + CPPUNIT_ASSERT_EQUAL(string("foo:bar"), authConfig->getAuthText()); + +} + +void NetrcAuthResolverTest::testResolveAuthConfig_with_userDefined() +{ + _resolver->setUserDefinedAuthConfig(new AuthConfig("myname", "mypasswd")); + AuthConfigHandle authConfig = _resolver->resolveAuthConfig("localhost"); + CPPUNIT_ASSERT_EQUAL(string("myname:mypasswd"), authConfig->getAuthText()); + + authConfig = _resolver->resolveAuthConfig("mymachine"); + CPPUNIT_ASSERT_EQUAL(string("myname:mypasswd"), authConfig->getAuthText()); + + _resolver->setNetrc(0); + authConfig = _resolver->resolveAuthConfig("mymachine"); + CPPUNIT_ASSERT_EQUAL(string("myname:mypasswd"), authConfig->getAuthText()); +} diff --git a/test/RequestFactoryTest.cc b/test/RequestFactoryTest.cc new file mode 100644 index 00000000..69b7b9cc --- /dev/null +++ b/test/RequestFactoryTest.cc @@ -0,0 +1,128 @@ +#include "RequestFactory.h" +#include "prefs.h" +#include "NetrcAuthResolver.h" +#include "DefaultAuthResolver.h" +#include <cppunit/extensions/HelperMacros.h> + +using namespace std; + +class RequestFactoryTest : public CppUnit::TestFixture { + + CPPUNIT_TEST_SUITE(RequestFactoryTest); + CPPUNIT_TEST(testCreateHttpAuthResolver_netrc); + CPPUNIT_TEST(testCreateHttpAuthResolver_def); + CPPUNIT_TEST(testCreateFtpAuthResolver_netrc); + CPPUNIT_TEST(testCreateFtpAuthResolver_def); + CPPUNIT_TEST(testCreateHttpProxyAuthResolver_netrc); + CPPUNIT_TEST(testCreateHttpProxyAuthResolver_def); + CPPUNIT_TEST_SUITE_END(); +private: + NetrcHandle _netrc; + SharedHandle<Option> _option; + RequestFactoryHandle _factory; +public: + void setUp() + { + _netrc = new Netrc(); + _option = new Option(); + _factory = new RequestFactory(); + _factory->setNetrc(_netrc); + _factory->setOption(_option.get()); + } + + void testCreateHttpAuthResolver_netrc(); + void testCreateHttpAuthResolver_def(); + void testCreateFtpAuthResolver_netrc(); + void testCreateFtpAuthResolver_def(); + void testCreateHttpProxyAuthResolver_netrc(); + void testCreateHttpProxyAuthResolver_def(); +}; + + +CPPUNIT_TEST_SUITE_REGISTRATION( RequestFactoryTest ); + +void RequestFactoryTest::testCreateHttpAuthResolver_netrc() +{ + _option->put(PREF_NO_NETRC, V_FALSE); + _option->put(PREF_HTTP_USER, "foo"); + _option->put(PREF_HTTP_PASSWD, "bar"); + DefaultAuthResolverHandle defResolver = _factory->createHttpAuthResolver(); + CPPUNIT_ASSERT(!defResolver.isNull()); + CPPUNIT_ASSERT(!defResolver->getUserDefinedAuthConfig().isNull()); + CPPUNIT_ASSERT_EQUAL(string("foo:bar"), + defResolver->getUserDefinedAuthConfig()->getAuthText()); + /* + NetrcAuthResolverHandle netrcResolver = _factory->createHttpAuthResolver(); + CPPUNIT_ASSERT(!netrcResolver.isNull()); + CPPUNIT_ASSERT(!netrcResolver->getNetrc().isNull()); + CPPUNIT_ASSERT(netrcResolver->getUserDefinedAuthConfig().isNull()); + */ +} + +void RequestFactoryTest::testCreateHttpAuthResolver_def() +{ + _option->put(PREF_NO_NETRC, V_TRUE); + _option->put(PREF_HTTP_USER, "foo"); + _option->put(PREF_HTTP_PASSWD, "bar"); + DefaultAuthResolverHandle defResolver = _factory->createHttpAuthResolver(); + CPPUNIT_ASSERT(!defResolver.isNull()); + CPPUNIT_ASSERT(!defResolver->getUserDefinedAuthConfig().isNull()); + CPPUNIT_ASSERT_EQUAL(string("foo:bar"), + defResolver->getUserDefinedAuthConfig()->getAuthText()); +} + +void RequestFactoryTest::testCreateFtpAuthResolver_netrc() +{ + _option->put(PREF_NO_NETRC, V_FALSE); + NetrcAuthResolverHandle netrcResolver = _factory->createFtpAuthResolver(); + CPPUNIT_ASSERT(!netrcResolver.isNull()); + CPPUNIT_ASSERT(!netrcResolver->getNetrc().isNull()); + CPPUNIT_ASSERT(netrcResolver->getUserDefinedAuthConfig().isNull()); + CPPUNIT_ASSERT_EQUAL(string("anonymous:ARIA2USER@"), + netrcResolver->getDefaultAuthConfig()->getAuthText()); +} + +void RequestFactoryTest::testCreateFtpAuthResolver_def() +{ + _option->put(PREF_NO_NETRC, V_TRUE); + _option->put(PREF_FTP_USER, "foo"); + _option->put(PREF_FTP_PASSWD, "bar"); + DefaultAuthResolverHandle defResolver = _factory->createFtpAuthResolver(); + CPPUNIT_ASSERT(!defResolver.isNull()); + CPPUNIT_ASSERT(!defResolver->getUserDefinedAuthConfig().isNull()); + CPPUNIT_ASSERT_EQUAL(string("foo:bar"), + defResolver->getUserDefinedAuthConfig()->getAuthText()); + CPPUNIT_ASSERT_EQUAL(string("anonymous:ARIA2USER@"), + defResolver->getDefaultAuthConfig()->getAuthText()); +} + +void RequestFactoryTest::testCreateHttpProxyAuthResolver_netrc() +{ + _option->put(PREF_NO_NETRC, V_FALSE); + _option->put(PREF_HTTP_PROXY_USER, "foo"); + _option->put(PREF_HTTP_PROXY_PASSWD, "bar"); + DefaultAuthResolverHandle defResolver = _factory->createHttpProxyAuthResolver(); + CPPUNIT_ASSERT(!defResolver.isNull()); + CPPUNIT_ASSERT(!defResolver->getUserDefinedAuthConfig().isNull()); + CPPUNIT_ASSERT_EQUAL(string("foo:bar"), + defResolver->getUserDefinedAuthConfig()->getAuthText()); + /* + NetrcAuthResolverHandle netrcResolver = _factory->createHttpProxyAuthResolver(); + CPPUNIT_ASSERT(!netrcResolver.isNull()); + CPPUNIT_ASSERT(!netrcResolver->getNetrc().isNull()); + CPPUNIT_ASSERT(netrcResolver->getUserDefinedAuthConfig().isNull()); + */ +} + +void RequestFactoryTest::testCreateHttpProxyAuthResolver_def() +{ + _option->put(PREF_NO_NETRC, V_TRUE); + _option->put(PREF_HTTP_PROXY_USER, "foo"); + _option->put(PREF_HTTP_PROXY_PASSWD, "bar"); + DefaultAuthResolverHandle defResolver = _factory->createHttpProxyAuthResolver(); + CPPUNIT_ASSERT(!defResolver.isNull()); + CPPUNIT_ASSERT(!defResolver->getUserDefinedAuthConfig().isNull()); + CPPUNIT_ASSERT_EQUAL(string("foo:bar"), + defResolver->getUserDefinedAuthConfig()->getAuthText()); +} + |
