82180643f4
There's a new 'http-proxy' server for tests that runs on a separate port and lets clients do HTTP CONNECT to other ports on the same host to allow us to test HTTP "tunneling" properly. Test cases now have a <proxy> section in <verify> to check that the proxy protocol part matches correctly. Test case 80, 83, 95, 275, 503 and 1078 have been converted. Test 1316 was added.
90 lines
1.4 KiB
Plaintext
90 lines
1.4 KiB
Plaintext
<testcase>
|
|
<info>
|
|
<keywords>
|
|
HTTP
|
|
HTTP/1.0
|
|
HTTP GET
|
|
HTTP CONNECT
|
|
HTTP proxy
|
|
proxytunnel
|
|
</keywords>
|
|
</info>
|
|
|
|
#
|
|
# Server-side
|
|
<reply>
|
|
<data nocheck="yes">
|
|
HTTP/1.0 200 OK
|
|
Date: Thu, 09 Nov 2010 14:49:00 GMT
|
|
Server: test-server/fake
|
|
Content-Type: text/html
|
|
Funny-head: yesyes
|
|
Content-Length: 9
|
|
Connection: keep-alive
|
|
|
|
contents
|
|
</data>
|
|
</reply>
|
|
|
|
#
|
|
# Client-side
|
|
<client>
|
|
<server>
|
|
http
|
|
http-proxy
|
|
</server>
|
|
<name>
|
|
HTTP 1.0 CONNECT with proxytunnel and downgrade GET to HTTP/1.0
|
|
</name>
|
|
<command>
|
|
--proxy1.0 %HOSTIP:%PROXYPORT -p http://%HOSTIP:%HTTPPORT/we/want/that/page/1078 http://%HOSTIP:%HTTPPORT/we/want/that/page/1078
|
|
</command>
|
|
</client>
|
|
|
|
#
|
|
# Verify data after the test has been "shot"
|
|
<verify>
|
|
<strip>
|
|
^User-Agent:.*
|
|
</strip>
|
|
<proxy>
|
|
CONNECT %HOSTIP:%HTTPPORT HTTP/1.0
|
|
Host: %HOSTIP:%HTTPPORT
|
|
Proxy-Connection: Keep-Alive
|
|
|
|
</proxy>
|
|
<protocol>
|
|
GET /we/want/that/page/1078 HTTP/1.1
|
|
Host: %HOSTIP:%HTTPPORT
|
|
Accept: */*
|
|
|
|
GET /we/want/that/page/1078 HTTP/1.0
|
|
Host: %HOSTIP:%HTTPPORT
|
|
Accept: */*
|
|
|
|
</protocol>
|
|
<stdout>
|
|
HTTP/1.1 200 Mighty fine indeed
|
|
|
|
HTTP/1.0 200 OK
|
|
Date: Thu, 09 Nov 2010 14:49:00 GMT
|
|
Server: test-server/fake
|
|
Content-Type: text/html
|
|
Funny-head: yesyes
|
|
Content-Length: 9
|
|
Connection: keep-alive
|
|
|
|
contents
|
|
HTTP/1.0 200 OK
|
|
Date: Thu, 09 Nov 2010 14:49:00 GMT
|
|
Server: test-server/fake
|
|
Content-Type: text/html
|
|
Funny-head: yesyes
|
|
Content-Length: 9
|
|
Connection: keep-alive
|
|
|
|
contents
|
|
</stdout>
|
|
</verify>
|
|
</testcase>
|