1
0
mirror of https://github.com/moparisthebest/curl synced 2024-11-12 04:25:08 -05: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 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) Daniel Stenberg (24 Nov 2008)
- Based on a patch by Vlad Grachov, libcurl now uses a new libssh2 0.19 - 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 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 \ test1064 test1065 test1066 test1067 test1068 test1069 test1070 test1071 \
test1072 test1073 test1074 test1075 test1076 test1077 test1078 test1079 \ test1072 test1073 test1074 test1075 test1076 test1077 test1078 test1079 \
test1080 test1081 test1082 test1083 test1084 test1085 test633 test634 \ test1080 test1081 test1082 test1083 test1084 test1085 test633 test634 \
test635 test636 test637 test558 test559 test1086 test635 test636 test637 test558 test559 test1086 test1087 test1088
filecheck: filecheck:
@mkdir test-place; \ @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
HTTP proxy Basic auth HTTP proxy Basic auth
followlocation followlocation
--location-trusted
</keywords> </keywords>
</info> </info>