summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2007-03-27 16:16:44 +0000
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2007-03-27 16:16:44 +0000
commit6e6ba30c603826718b159cb1c0800b20147c23c7 (patch)
tree80e45880d16a2a9eb468b2f673f400cc709f72f7 /test
parent9b73454b07dc23e2aaf08baf6eff1643590e30f3 (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.cc45
-rw-r--r--test/HttpRequestTest.cc14
-rw-r--r--test/Makefile.am7
-rw-r--r--test/Makefile.in246
-rw-r--r--test/NetrcAuthResolverTest.cc63
-rw-r--r--test/RequestFactoryTest.cc128
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());
+}
+