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