blob: 20ad5cfd85e7335a18d8446fbd6e95dd5a0f9424 [file] [log] [blame]
<testcase>
<info>
<keywords>
HTTP
HTTP PUT
Expect: 100-continue
</keywords>
</info>
#
# Server-side
<reply>
<data nocheck="yes">
HTTP/1.1 400 NOOOOOOOOO
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
Content-Length: 9
Content-Type: text/html
FAILURE1
</data>
<data1>
HTTP/1.1 400 NEITHER
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
Content-Length: 9
Content-Type: text/html
FAILURE2
</data1>
# We use skip to make the test server never read the full payload off
# the socket and instead return the response at once. In actuality, the
# long --expect100-timeout means that it will never get a chance to read this.
<servercmd>
skip: 100
</servercmd>
</reply>
#
# Client-side
<client>
# 100 x 'x'
<file name="%LOGDIR/file%TESTNUMBER">
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
</file>
<server>
http
</server>
<name>
HTTP PUT expect 100-continue with a 400
</name>
<command option="no-output">
-H "Expect: 100-continue" -T %LOGDIR/file%TESTNUMBER http://%HOSTIP:%HTTPPORT/%TESTNUMBER -T %LOGDIR/file%TESTNUMBER http://%HOSTIP:%HTTPPORT/%TESTNUMBER0001 --expect100-timeout 99
</command>
</client>
#
# Verify data after the test has been "shot"
<verify>
<stdout>
HTTP/1.1 400 NOOOOOOOOO
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
Content-Length: 9
Content-Type: text/html
FAILURE1
HTTP/1.1 400 NEITHER
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
Content-Length: 9
Content-Type: text/html
FAILURE2
</stdout>
<protocol>
PUT /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
Accept: */*
Expect: 100-continue
Content-Length: 100
PUT /%TESTNUMBER0001 HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
Accept: */*
Expect: 100-continue
Content-Length: 100
</protocol>
</verify>
</testcase>