curl/tests/data/test650
David Cook 70cf50fb4a
tests: ignore case of chunked hex numbers in tests
When hyper is used, it emits uppercase hexadecimal numbers for chunked
encoding lengths. Without hyper, lowercase hexadecimal numbers are used.
This change adds preprocessor statements to tests where this is an
issue, and adapts the fixtures to match.

Closes #6987
2021-05-04 15:57:57 +02:00

146 lines
2.8 KiB
Plaintext

<testcase>
<info>
<keywords>
HTTP
HTTP POST
FORM
</keywords>
</info>
#
# Server-side
<reply>
<data>
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake swsclose
Connection: close
Content-Type: text/html
hello
</data>
</reply>
# Client-side
<client>
<server>
http
</server>
# tool is what to use instead of 'curl'
<tool>
lib%TESTNUMBER
</tool>
<name>
HTTP formpost using form API
</name>
<stdin>
Some data from stdin
</stdin>
<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER log/test%TESTNUMBER.filedata
</command>
<file name="log/test%TESTNUMBER.filedata">
This is data from a file.
</file>
</client>
#
# Verify data after the test has been "shot"
<verify>
<strippart>
s/^--------------------------[a-z0-9]*/------------------------------/
s/boundary=------------------------[a-z0-9]*/boundary=----------------------------/
</strippart>
# Note that the stripping above removes 12 bytes from every occurrence of the
# boundary string and since 5 of them are in the body contents, we see
# (5*12) == 60 bytes less
<protocol>
POST /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Accept: */*
Transfer-Encoding: chunked
Content-Type: multipart/form-data; boundary=----------------------------
Expect: 100-continue
361
------------------------------
Content-Disposition: form-data; name="fieldname"
Content-Type: text/plain
X-customheader-1: Header 1 data
X-customheader-2: Header 2 data
this is what we post to the silly web server
------------------------------
Content-Disposition: form-data; name="fieldnam"
uhis is what we post to the silly web serve
------------------------------
Content-Disposition: form-data; name="multifile"
Content-Type: multipart/mixed; boundary=----------------------------
------------------------------
Content-Disposition: attachment; filename="test%TESTNUMBER.filedata"
Content-Type: application/octet-stream
This is data from a file.
------------------------------
Content-Disposition: attachment; filename="test%TESTNUMBER.filedata"
Content-Type: text/whatever
%if hyper
A5
%else
a5
%endif
This is data from a file.
------------------------------
Content-Disposition: attachment; filename="test%TESTNUMBER.filedata"
Content-Type: text/whatever
%if hyper
AF
%else
af
%endif
This is data from a file.
--------------------------------
------------------------------
Content-Disposition: form-data; name="filecontents"
%if hyper
10F
%else
10f
%endif
This is data from a file.
------------------------------
Content-Disposition: form-data; name="formlength"
1367
------------------------------
Content-Disposition: form-data; name="standardinput"
Content-Type: application/octet-stream
16
Some data from stdin
30
--------------------------------
0
</protocol>
</verify>
</testcase>