blob: 5716a0ba6bde22936c9842a14affc939f4a2700f [file] [log] [blame]
xf.li6c8fc1e2023-08-12 00:11:09 -07001<testcase>
2<info>
3<keywords>
4HTTP
5HTTP POST
6HTTP MIME POST
7</keywords>
8</info>
9
10#
11# Server-side
12<reply>
13<data>
14HTTP/1.1 200 OK
15Date: Tue, 09 Nov 2010 14:49:00 GMT
16Server: test-server/fake swsclose
17Connection: close
18Content-Type: text/html
19
20hello
21</data>
22<datacheck>
23HTTP/1.1 200 OK
24Date: Tue, 09 Nov 2010 14:49:00 GMT
25Server: test-server/fake swsclose
26Connection: close
27Content-Type: text/html
28
29hello
30HTTP/1.1 200 OK
31Date: Tue, 09 Nov 2010 14:49:00 GMT
32Server: test-server/fake swsclose
33Connection: close
34Content-Type: text/html
35
36hello
37</datacheck>
38</reply>
39
40# Client-side
41<client>
42<features>
43Mime
44</features>
45<server>
46http
47</server>
48# tool is what to use instead of 'curl'
49<tool>
50lib%TESTNUMBER
51</tool>
52
53 <name>
54HTTP duplicate easy handle with mime data
55 </name>
56 <command>
57http://%HOSTIP:%HTTPPORT/%TESTNUMBER
58</command>
59<file name="log/file%TESTNUMBER.txt">
60This is data from a file
61</file>
62</client>
63
64#
65# Verify data after the test has been "shot"
66<verify>
67<strippart>
68s/^--------------------------[a-z0-9]*/------------------------------/
69s/boundary=------------------------[a-z0-9]*/boundary=----------------------------/
70</strippart>
71# Note that the stripping above removes 12 bytes from every occurrence of the
72# boundary string and since 5 of them are in the body contents, we see
73# (5*12) == 60 bytes less
74<protocol>
75POST /%TESTNUMBER HTTP/1.1
76Host: %HOSTIP:%HTTPPORT
77Accept: */*
78Content-Length: 0
79
80POST /%TESTNUMBER HTTP/1.1
81Host: %HOSTIP:%HTTPPORT
82Accept: */*
83Transfer-Encoding: chunked
84Content-Type: multipart/form-data; boundary=----------------------------
85Expect: 100-continue
86
87%if hyper
881AF
89%else
901af
91%endif
92------------------------------
93Content-Disposition: form-data; name="greeting"
94Content-Type: application/X-Greeting
95Content-Transfer-Encoding: base64
96X-Test-Number: %TESTNUMBER
97
98aGVsbG8=
99------------------------------
100Content-Disposition: form-data; filename="file%TESTNUMBER.txt"
101Content-Type: text/plain
102
103This is data from a file
104
105------------------------------
106Content-Disposition: form-data
107
108
1091
110d
1111
112u
1131
114m
1151
116m
1171
118y
1191
120
121
12230
123
124--------------------------------
125
1260
127
128</protocol>
129</verify>
130</testcase>