mirror of
https://github.com/curl/curl.git
synced 2025-02-05 14:30:10 +08:00
The threee tags `<name>`, `</name>` and `<command>` were frequently used with a leading space that this removes. The reason this habbit is so widespread in testcases is probably that they have been copy and pasted. Hence, fixing them all now might curb this practice from now on. Closes #12028
174 lines
4.3 KiB
Plaintext
174 lines
4.3 KiB
Plaintext
<testcase>
|
|
<info>
|
|
<keywords>
|
|
HTTP
|
|
HTTP GET
|
|
HTTP Basic auth
|
|
HTTP Digest auth
|
|
</keywords>
|
|
</info>
|
|
# Server-side
|
|
<reply>
|
|
|
|
<!-- Alternate the order that Basic and Digest headers appear in responses to
|
|
ensure that the order doesn't matter. -->
|
|
|
|
<!-- First request has Basic auth, wrong password -->
|
|
<data100>
|
|
HTTP/1.1 401 Sorry wrong password
|
|
Server: Microsoft-IIS/5.0
|
|
Content-Type: text/html; charset=iso-8859-1
|
|
Content-Length: 29
|
|
WWW-Authenticate: Digest realm="testrealm", nonce="1"
|
|
WWW-Authenticate: Basic realm="testrealm"
|
|
|
|
This is a bad password page!
|
|
</data100>
|
|
|
|
<!-- Second request has Digest auth, right password -->
|
|
<data1200>
|
|
HTTP/1.1 200 Things are fine in server land
|
|
Server: Microsoft-IIS/5.0
|
|
Content-Type: text/html; charset=iso-8859-1
|
|
Content-Length: 32
|
|
|
|
Finally, this is the real page!
|
|
</data1200>
|
|
|
|
<!-- Third request has Basic auth, wrong password -->
|
|
<data300>
|
|
HTTP/1.1 401 Sorry wrong password (2)
|
|
Server: Microsoft-IIS/5.0
|
|
Content-Type: text/html; charset=iso-8859-1
|
|
Content-Length: 29
|
|
WWW-Authenticate: Digest realm="testrealm", nonce="2"
|
|
WWW-Authenticate: Basic realm="testrealm"
|
|
|
|
This is a bad password page!
|
|
</data300>
|
|
|
|
<!-- Fourth request has Digest auth, wrong password -->
|
|
<data1400>
|
|
HTTP/1.1 401 Sorry wrong password (3)
|
|
Server: Microsoft-IIS/5.0
|
|
Content-Type: text/html; charset=iso-8859-1
|
|
Content-Length: 29
|
|
WWW-Authenticate: Digest realm="testrealm", nonce="3"
|
|
WWW-Authenticate: Basic realm="testrealm"
|
|
|
|
This is a bad password page!
|
|
</data1400>
|
|
|
|
<!-- Fifth request has Digest auth, right password -->
|
|
<data1500>
|
|
HTTP/1.1 200 Things are fine in server land (2)
|
|
Server: Microsoft-IIS/5.0
|
|
Content-Type: text/html; charset=iso-8859-1
|
|
Content-Length: 32
|
|
|
|
Finally, this is the real page!
|
|
</data1500>
|
|
|
|
<datacheck>
|
|
HTTP/1.1 401 Sorry wrong password
|
|
Server: Microsoft-IIS/5.0
|
|
Content-Type: text/html; charset=iso-8859-1
|
|
Content-Length: 29
|
|
WWW-Authenticate: Digest realm="testrealm", nonce="1"
|
|
WWW-Authenticate: Basic realm="testrealm"
|
|
|
|
This is a bad password page!
|
|
HTTP/1.1 200 Things are fine in server land
|
|
Server: Microsoft-IIS/5.0
|
|
Content-Type: text/html; charset=iso-8859-1
|
|
Content-Length: 32
|
|
|
|
Finally, this is the real page!
|
|
HTTP/1.1 401 Sorry wrong password (2)
|
|
Server: Microsoft-IIS/5.0
|
|
Content-Type: text/html; charset=iso-8859-1
|
|
Content-Length: 29
|
|
WWW-Authenticate: Digest realm="testrealm", nonce="2"
|
|
WWW-Authenticate: Basic realm="testrealm"
|
|
|
|
This is a bad password page!
|
|
HTTP/1.1 401 Sorry wrong password (3)
|
|
Server: Microsoft-IIS/5.0
|
|
Content-Type: text/html; charset=iso-8859-1
|
|
Content-Length: 29
|
|
WWW-Authenticate: Digest realm="testrealm", nonce="3"
|
|
WWW-Authenticate: Basic realm="testrealm"
|
|
|
|
This is a bad password page!
|
|
HTTP/1.1 200 Things are fine in server land (2)
|
|
Server: Microsoft-IIS/5.0
|
|
Content-Type: text/html; charset=iso-8859-1
|
|
Content-Length: 32
|
|
|
|
Finally, this is the real page!
|
|
</datacheck>
|
|
|
|
</reply>
|
|
|
|
# Client-side
|
|
<client>
|
|
<server>
|
|
http
|
|
</server>
|
|
<features>
|
|
!SSPI
|
|
crypto
|
|
</features>
|
|
<tool>
|
|
libauthretry
|
|
</tool>
|
|
|
|
<name>
|
|
HTTP authorization retry (Basic switching to Digest)
|
|
</name>
|
|
<setenv>
|
|
# we force our own host name, in order to make the test machine independent
|
|
CURL_GETHOSTNAME=curlhost
|
|
# we try to use the LD_PRELOAD hack, if not a debug build
|
|
LD_PRELOAD=%PWD/libtest/.libs/libhostname.so
|
|
</setenv>
|
|
<command>
|
|
http://%HOSTIP:%HTTPPORT/%TESTNUMBER basic digest
|
|
</command>
|
|
<precheck>
|
|
chkhostname curlhost
|
|
</precheck>
|
|
</client>
|
|
|
|
# Verify data after the test has been "shot"
|
|
<verify>
|
|
<protocol>
|
|
GET /%TESTNUMBER0100 HTTP/1.1
|
|
Host: %HOSTIP:%HTTPPORT
|
|
Authorization: Basic dGVzdHVzZXI6d3JvbmdwYXNz
|
|
Accept: */*
|
|
|
|
GET /%TESTNUMBER0200 HTTP/1.1
|
|
Host: %HOSTIP:%HTTPPORT
|
|
Authorization: Digest username="testuser", realm="testrealm", nonce="1", uri="/%TESTNUMBER0200", response="ed646c565f79e2dd9fa37cb5a621213c"
|
|
Accept: */*
|
|
|
|
GET /%TESTNUMBER0300 HTTP/1.1
|
|
Host: %HOSTIP:%HTTPPORT
|
|
Authorization: Basic dGVzdHVzZXI6d3JvbmdwYXNz
|
|
Accept: */*
|
|
|
|
GET /%TESTNUMBER0400 HTTP/1.1
|
|
Host: %HOSTIP:%HTTPPORT
|
|
Authorization: Digest username="testuser", realm="testrealm", nonce="2", uri="/%TESTNUMBER0400", response="9741ced8caacc6124770187b36f007c5"
|
|
Accept: */*
|
|
|
|
GET /%TESTNUMBER0500 HTTP/1.1
|
|
Host: %HOSTIP:%HTTPPORT
|
|
Authorization: Digest username="testuser", realm="testrealm", nonce="3", uri="/%TESTNUMBER0500", response="5bc77ec8c2d443b27a1b55f1fd8fbb13"
|
|
Accept: */*
|
|
|
|
</protocol>
|
|
</verify>
|
|
</testcase>
|