92 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			92 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
<testcase>
 | 
						|
<info>
 | 
						|
<keywords>
 | 
						|
HTTP
 | 
						|
HTTP FORMPOST
 | 
						|
</keywords>
 | 
						|
</info>
 | 
						|
# Server-side
 | 
						|
<reply>
 | 
						|
<data>
 | 
						|
HTTP/1.1 200 OK
 | 
						|
Date: Thu, 09 Nov 2010 14:49:00 GMT
 | 
						|
Server: test-server/fake
 | 
						|
Content-Length: 10
 | 
						|
 | 
						|
blablabla
 | 
						|
</data>
 | 
						|
</reply>
 | 
						|
 | 
						|
# Client-side
 | 
						|
<client>
 | 
						|
<server>
 | 
						|
http
 | 
						|
</server>
 | 
						|
 <name>
 | 
						|
HTTP RFC1867-type formposting with filename= and type=
 | 
						|
 </name>
 | 
						|
 <command>
 | 
						|
http://%HOSTIP:%HTTPPORT/we/want/39 -F name=daniel -F tool=curl --form-string "str1=@literal" --form-string "str2=<verbatim;type=xxx/yyy" -F "file=@log/test39.txt;filename=fakerfile;type=moo/foobar" -F file2=@log/test39.txt
 | 
						|
</command>
 | 
						|
# We create this file before the command is invoked!
 | 
						|
<file name="log/test39.txt">
 | 
						|
foo bar
 | 
						|
This is a bar foo
 | 
						|
bar
 | 
						|
foo
 | 
						|
</file>
 | 
						|
</client>
 | 
						|
 | 
						|
# Verify data after the test has been "shot"
 | 
						|
<verify>
 | 
						|
<strip>
 | 
						|
^(User-Agent:|Content-Type: multipart/form-data;|-------).*
 | 
						|
</strip>
 | 
						|
<protocol>
 | 
						|
POST /we/want/39 HTTP/1.1
 | 
						|
User-Agent: curl/7.10.4 (i686-pc-linux-gnu) libcurl/7.10.4 OpenSSL/0.9.7a ipv6 zlib/1.1.3
 | 
						|
Host: %HOSTIP:%HTTPPORT
 | 
						|
Accept: */*
 | 
						|
Content-Length: 810
 | 
						|
Expect: 100-continue
 | 
						|
Content-Type: multipart/form-data; boundary=----------------------------24e78000bd32
 | 
						|
 | 
						|
------------------------------24e78000bd32
 | 
						|
Content-Disposition: form-data; name="name"
 | 
						|
 | 
						|
daniel
 | 
						|
------------------------------24e78000bd32
 | 
						|
Content-Disposition: form-data; name="tool"
 | 
						|
 | 
						|
curl
 | 
						|
------------------------------24e78000bd32
 | 
						|
Content-Disposition: form-data; name="str1"
 | 
						|
 | 
						|
@literal
 | 
						|
------------------------------24e78000bd32
 | 
						|
Content-Disposition: form-data; name="str2"
 | 
						|
 | 
						|
<verbatim;type=xxx/yyy
 | 
						|
------------------------------24e78000bd32
 | 
						|
Content-Disposition: form-data; name="file"; filename="fakerfile"
 | 
						|
Content-Type: moo/foobar
 | 
						|
 | 
						|
foo bar
 | 
						|
This is a bar foo
 | 
						|
bar
 | 
						|
foo
 | 
						|
 | 
						|
------------------------------24e78000bd32
 | 
						|
Content-Disposition: form-data; name="file2"; filename="test39.txt"
 | 
						|
Content-Type: text/plain
 | 
						|
 | 
						|
foo bar
 | 
						|
This is a bar foo
 | 
						|
bar
 | 
						|
foo
 | 
						|
 | 
						|
------------------------------24e78000bd32--
 | 
						|
</protocol>
 | 
						|
</verify>
 | 
						|
</testcase>
 |