1
0
mirror of https://github.com/moparisthebest/curl synced 2024-08-13 17:03:50 -04:00

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

with and without --location-trusted
This commit is contained in:
Dan Fandrich 2008-11-25 23:30:53 +00:00
parent 640974fb28
commit ecc6f550eb
5 changed files with 233 additions and 1 deletions

View File

@ -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

View File

@ -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; \

110
tests/data/test1087 Normal file
View File

@ -0,0 +1,110 @@
<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>

112
tests/data/test1088 Normal file
View File

@ -0,0 +1,112 @@
<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>

View File

@ -6,6 +6,7 @@ HTTP GET
HTTP proxy
HTTP proxy Basic auth
followlocation
--location-trusted
</keywords>
</info>