Commit ecc6f550 authored by Dan Fandrich's avatar Dan Fandrich
Browse files

Added tests 1087 and 1088 to test Basic authentication on a redirect

with and without --location-trusted
parent 640974fb
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -6,6 +6,15 @@

                                  Changelog

Daniel Fandrich (25 Nov 2008)
- If a HTTP request is Basic and num is already >=1000, the HTTP test
  server adds 1 to num to get the data section to return. This allows
  testing authentication negotiations using the Basic authentication
  method.

- Added tests 1087 and 1088 to test Basic authentication on a redirect
  with and without --location-trusted

Daniel Stenberg (24 Nov 2008)
- Based on a patch by Vlad Grachov, libcurl now uses a new libssh2 0.19
  function when built to support SCP and SFTP that helps the library to know
+1 −1
Original line number Diff line number Diff line
@@ -59,7 +59,7 @@ EXTRA_DIST = test1 test108 test117 test127 test20 test27 test34 test46 \
 test1064 test1065 test1066 test1067 test1068 test1069 test1070 test1071   \
 test1072 test1073 test1074 test1075 test1076 test1077 test1078 test1079   \
 test1080 test1081 test1082 test1083 test1084 test1085 test633 test634     \
 test635 test636 test637 test558 test559 test1086
 test635 test636 test637 test558 test559 test1086 test1087 test1088

filecheck:
	@mkdir test-place; \

tests/data/test1087

0 → 100644
+110 −0
Original line number Diff line number Diff line
<testcase>
<info>
<keywords>
HTTP
HTTP proxy
HTTP Basic auth
HTTP proxy Basic auth
followlocation
--anyauth
</keywords>
</info>

#
# Server-side
<reply>
<data1000 nocheck="yes">
HTTP/1.1 401 Authorization Required
WWW-Authenticate: Basic
Content-Type: text/plain
Content-Length: 0

</data1000>
<data1001 nocheck="yes">
HTTP/1.1 302 OK
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake swsclose
Content-Type: text/plain
Funny-head: yesyes
Location: http://goto.second.host.now/10871002
Content-Length: 0
Connection: close

</data1001>
<data1002 nocheck="yes">
HTTP/1.1 200 OK
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake swsclose
Content-Type: text/plain
Funny-head: yesyes
Content-Length: 9

contents
</data1002>

<datacheck>
HTTP/1.1 401 Authorization Required
WWW-Authenticate: Basic
Content-Type: text/plain
Content-Length: 0

HTTP/1.1 302 OK
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake swsclose
Content-Type: text/plain
Funny-head: yesyes
Location: http://goto.second.host.now/10871002
Content-Length: 0
Connection: close

HTTP/1.1 200 OK
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake swsclose
Content-Type: text/plain
Funny-head: yesyes
Content-Length: 9

contents
</datacheck>
</reply>

#
# Client-side
<client>
<server>
http
</server>
 <name>
HTTP, proxy with --anyauth and Location: to new host
 </name>
 <command>
http://first.host.it.is/we/want/that/page/10871000 -x %HOSTIP:%HTTPPORT --user iam:myself --location --anyauth
</command>
</client>

#
# Verify data after the test has been "shot"
<verify>
<strip>
^User-Agent:.*
</strip>
<protocol>
GET http://first.host.it.is/we/want/that/page/10871000 HTTP/1.1
Host: first.host.it.is
Accept: */*
Proxy-Connection: Keep-Alive

GET http://first.host.it.is/we/want/that/page/10871000 HTTP/1.1
Authorization: Basic aWFtOm15c2VsZg==
Host: first.host.it.is
Accept: */*
Proxy-Connection: Keep-Alive

GET http://goto.second.host.now/10871002 HTTP/1.1
Host: goto.second.host.now
Accept: */*
Proxy-Connection: Keep-Alive

</protocol>
</verify>
</testcase>

tests/data/test1088

0 → 100644
+112 −0
Original line number Diff line number Diff line
<testcase>
<info>
<keywords>
HTTP
HTTP proxy
HTTP Basic auth
HTTP proxy Basic auth
followlocation
--anyauth
--location-trusted
</keywords>
</info>

#
# Server-side
<reply>
<data1000 nocheck="yes">
HTTP/1.1 401 Authorization Required
WWW-Authenticate: Basic
Content-Type: text/plain
Content-Length: 0

</data1000>
<data1001 nocheck="yes">
HTTP/1.1 302 OK
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake swsclose
Content-Type: text/plain
Funny-head: yesyes
Location: http://goto.second.host.now/10881002
Content-Length: 0
Connection: close

</data1001>
<data1003 nocheck="yes">
HTTP/1.1 200 OK
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake swsclose
Content-Type: text/plain
Funny-head: yesyes
Content-Length: 9

contents
</data1003>

<datacheck>
HTTP/1.1 401 Authorization Required
WWW-Authenticate: Basic
Content-Type: text/plain
Content-Length: 0

HTTP/1.1 302 OK
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake swsclose
Content-Type: text/plain
Funny-head: yesyes
Location: http://goto.second.host.now/10881002
Content-Length: 0
Connection: close

HTTP/1.1 200 OK
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake swsclose
Content-Type: text/plain
Funny-head: yesyes
Content-Length: 9

contents
</datacheck>
</reply>

#
# Client-side
<client>
<server>
http
</server>
 <name>
HTTP, proxy with --anyauth and Location: to new host using location-trusted
 </name>
 <command>
http://first.host.it.is/we/want/that/page/10881000 -x %HOSTIP:%HTTPPORT --user iam:myself --location-trusted --anyauth
</command>
</client>

#
# Verify data after the test has been "shot"
<verify>
<strip>
^User-Agent:.*
</strip>
<protocol>
GET http://first.host.it.is/we/want/that/page/10881000 HTTP/1.1
Host: first.host.it.is
Accept: */*
Proxy-Connection: Keep-Alive

GET http://first.host.it.is/we/want/that/page/10881000 HTTP/1.1
Authorization: Basic aWFtOm15c2VsZg==
Host: first.host.it.is
Accept: */*
Proxy-Connection: Keep-Alive

GET http://goto.second.host.now/10881002 HTTP/1.1
Authorization: Basic aWFtOm15c2VsZg==
Host: goto.second.host.now
Accept: */*
Proxy-Connection: Keep-Alive

</protocol>
</verify>
</testcase>
+1 −0
Original line number Diff line number Diff line
@@ -6,6 +6,7 @@ HTTP GET
HTTP proxy
HTTP proxy Basic auth
followlocation
--location-trusted
</keywords>
</info>