1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131
|
<?xml version="1.0" encoding="US-ASCII"?>
<testcase>
# Based on test 9
<info>
<keywords>
HTTP
HTTP FORMPOST
HTTP file upload
followlocation
</keywords>
</info>
# Server-side
<reply>
<data crlf="headers">
HTTP/1.1 307 Redirect swsclose
Date: Thu, 29 Jul 2008 14:49:00 GMT
Server: test-server/fake
Location: data/%TESTNUMBER0002.txt?coolsite=yes
Content-Length: 0
Connection: close
</data>
<data2 crlf="headers">
HTTP/1.1 200 OK swsclose
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
Content-Length: 11
Connection: close
blablabla
</data2>
<datacheck crlf="headers">
HTTP/1.1 307 Redirect swsclose
Date: Thu, 29 Jul 2008 14:49:00 GMT
Server: test-server/fake
Location: data/%TESTNUMBER0002.txt?coolsite=yes
Content-Length: 0
Connection: close
HTTP/1.1 200 OK swsclose
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
Content-Length: 11
Connection: close
blablabla
</datacheck>
</reply>
# Client-side
<client>
<features>
Mime
</features>
<server>
http
</server>
<name>
HTTP RFC1867-type formposting from file with Location: following
</name>
<command>
http://%HOSTIP:%HTTPPORT/we/want/%TESTNUMBER -L -F name=daniel -F tool=curl -F file=@%LOGDIR/test%TESTNUMBER.txt
</command>
# We create this file before the command is invoked!
<file name="%LOGDIR/test%TESTNUMBER.txt">
foo-
This is a moo-
bar
</file>
</client>
# Verify data after the test has been "shot"
<verify>
<strip>
^(Content-Type: multipart/form-data;|------------).*
</strip>
<protocol>
POST /we/want/%TESTNUMBER HTTP/1.1%CR
Host: %HOSTIP:%HTTPPORT%CR
User-Agent: curl/%VERSION%CR
Accept: */*%CR
Content-Length: 434%CR
Content-Type: multipart/form-data; boundary=----------------------------9ef8d6205763%CR
%CR
------------------------------9ef8d6205763%CR
Content-Disposition: form-data; name="name"%CR
%CR
daniel%CR
------------------------------9ef8d6205763%CR
Content-Disposition: form-data; name="tool"%CR
%CR
curl%CR
------------------------------9ef8d6205763%CR
Content-Disposition: form-data; name="file"; filename="test%TESTNUMBER.txt"%CR
Content-Type: text/plain%CR
%CR
foo-
This is a moo-
bar
%CR
------------------------------9ef8d6205763--%CR
POST /we/want/data/%TESTNUMBER0002.txt?coolsite=yes HTTP/1.1%CR
Host: %HOSTIP:%HTTPPORT%CR
User-Agent: curl/%VERSION%CR
Accept: */*%CR
Content-Length: 434%CR
Content-Type: multipart/form-data; boundary=----------------------------9ef8d6205763%CR
%CR
------------------------------9ef8d6205763%CR
Content-Disposition: form-data; name="name"%CR
%CR
daniel%CR
------------------------------9ef8d6205763%CR
Content-Disposition: form-data; name="tool"%CR
%CR
curl%CR
------------------------------9ef8d6205763%CR
Content-Disposition: form-data; name="file"; filename="test%TESTNUMBER.txt"%CR
Content-Type: text/plain%CR
%CR
foo-
This is a moo-
bar
%CR
------------------------------9ef8d6205763--%CR
</protocol>
</verify>
</testcase>
|