1*6236dae4SAndroid Build Coastguard Worker<testcase> 2*6236dae4SAndroid Build Coastguard Worker# Based on tests 186 and 1053 3*6236dae4SAndroid Build Coastguard Worker<info> 4*6236dae4SAndroid Build Coastguard Worker<keywords> 5*6236dae4SAndroid Build Coastguard WorkerHTTP 6*6236dae4SAndroid Build Coastguard WorkerHTTP FORMPOST 7*6236dae4SAndroid Build Coastguard WorkerHTTP file upload 8*6236dae4SAndroid Build Coastguard Worker</keywords> 9*6236dae4SAndroid Build Coastguard Worker</info> 10*6236dae4SAndroid Build Coastguard Worker 11*6236dae4SAndroid Build Coastguard Worker# Server-side 12*6236dae4SAndroid Build Coastguard Worker<reply> 13*6236dae4SAndroid Build Coastguard Worker<data> 14*6236dae4SAndroid Build Coastguard WorkerHTTP/1.1 200 OK 15*6236dae4SAndroid Build Coastguard WorkerDate: Thu, 29 Jul 2008 14:49:00 GMT 16*6236dae4SAndroid Build Coastguard WorkerServer: test-server/fake 17*6236dae4SAndroid Build Coastguard WorkerContent-Length: 0 18*6236dae4SAndroid Build Coastguard WorkerConnection: close 19*6236dae4SAndroid Build Coastguard Worker 20*6236dae4SAndroid Build Coastguard Worker</data> 21*6236dae4SAndroid Build Coastguard Worker</reply> 22*6236dae4SAndroid Build Coastguard Worker 23*6236dae4SAndroid Build Coastguard Worker# Client-side 24*6236dae4SAndroid Build Coastguard Worker<client> 25*6236dae4SAndroid Build Coastguard Worker<features> 26*6236dae4SAndroid Build Coastguard WorkerMime 27*6236dae4SAndroid Build Coastguard Worker</features> 28*6236dae4SAndroid Build Coastguard Worker<server> 29*6236dae4SAndroid Build Coastguard Workerhttp 30*6236dae4SAndroid Build Coastguard Worker</server> 31*6236dae4SAndroid Build Coastguard Worker<name> 32*6236dae4SAndroid Build Coastguard WorkerHTTP RFC1867-type formposting - -F with three files, one with explicit type 33*6236dae4SAndroid Build Coastguard Worker</name> 34*6236dae4SAndroid Build Coastguard Worker<command> 35*6236dae4SAndroid Build Coastguard Workerhttp://%HOSTIP:%HTTPPORT/we/want/%TESTNUMBER -F name=value -F 'file=@%LOGDIR/test%TESTNUMBER.txt,%LOGDIR/test%TESTNUMBER.txt;type=magic/content,%LOGDIR/test%TESTNUMBER.txt' 36*6236dae4SAndroid Build Coastguard Worker</command> 37*6236dae4SAndroid Build Coastguard Worker# We create this file before the command is invoked! 38*6236dae4SAndroid Build Coastguard Worker<file name="%LOGDIR/test%TESTNUMBER.txt"> 39*6236dae4SAndroid Build Coastguard Workerdummy data 40*6236dae4SAndroid Build Coastguard Worker</file> 41*6236dae4SAndroid Build Coastguard Worker</client> 42*6236dae4SAndroid Build Coastguard Worker 43*6236dae4SAndroid Build Coastguard Worker# Verify data after the test has been "shot" 44*6236dae4SAndroid Build Coastguard Worker<verify> 45*6236dae4SAndroid Build Coastguard Worker<strip> 46*6236dae4SAndroid Build Coastguard Worker-----+\w+ 47*6236dae4SAndroid Build Coastguard Worker</strip> 48*6236dae4SAndroid Build Coastguard Worker<protocol> 49*6236dae4SAndroid Build Coastguard WorkerPOST /we/want/%TESTNUMBER HTTP/1.1 50*6236dae4SAndroid Build Coastguard WorkerHost: %HOSTIP:%HTTPPORT 51*6236dae4SAndroid Build Coastguard WorkerUser-Agent: curl/%VERSION 52*6236dae4SAndroid Build Coastguard WorkerAccept: */* 53*6236dae4SAndroid Build Coastguard WorkerContent-Length: 845 54*6236dae4SAndroid Build Coastguard WorkerContent-Type: multipart/form-data; boundary=----------------------------9ef8d6205763 55*6236dae4SAndroid Build Coastguard Worker 56*6236dae4SAndroid Build Coastguard Worker------------------------------9ef8d6205763 57*6236dae4SAndroid Build Coastguard WorkerContent-Disposition: form-data; name="name" 58*6236dae4SAndroid Build Coastguard Worker 59*6236dae4SAndroid Build Coastguard Workervalue 60*6236dae4SAndroid Build Coastguard Worker------------------------------9ef8d6205763 61*6236dae4SAndroid Build Coastguard WorkerContent-Disposition: form-data; name="file" 62*6236dae4SAndroid Build Coastguard WorkerContent-Type: multipart/mixed; boundary=----------------------------aaaaaaaaaaaa 63*6236dae4SAndroid Build Coastguard Worker 64*6236dae4SAndroid Build Coastguard WorkerContent-Disposition: attachment; filename="test%TESTNUMBER.txt" 65*6236dae4SAndroid Build Coastguard WorkerContent-Type: text/plain 66*6236dae4SAndroid Build Coastguard Worker 67*6236dae4SAndroid Build Coastguard Workerdummy data 68*6236dae4SAndroid Build Coastguard Worker 69*6236dae4SAndroid Build Coastguard Worker------------------------------9ef8d6205763 70*6236dae4SAndroid Build Coastguard WorkerContent-Disposition: attachment; filename="test%TESTNUMBER.txt" 71*6236dae4SAndroid Build Coastguard WorkerContent-Type: magic/content 72*6236dae4SAndroid Build Coastguard Worker 73*6236dae4SAndroid Build Coastguard Workerdummy data 74*6236dae4SAndroid Build Coastguard Worker 75*6236dae4SAndroid Build Coastguard Worker------------------------------9ef8d6205763 76*6236dae4SAndroid Build Coastguard WorkerContent-Disposition: attachment; filename="test%TESTNUMBER.txt" 77*6236dae4SAndroid Build Coastguard WorkerContent-Type: text/plain 78*6236dae4SAndroid Build Coastguard Worker 79*6236dae4SAndroid Build Coastguard Workerdummy data 80*6236dae4SAndroid Build Coastguard Worker 81*6236dae4SAndroid Build Coastguard Worker------------------------------aaaaaaaaaaaa-- 82*6236dae4SAndroid Build Coastguard Worker 83*6236dae4SAndroid Build Coastguard Worker------------------------------9ef8d6205763-- 84*6236dae4SAndroid Build Coastguard Worker</protocol> 85*6236dae4SAndroid Build Coastguard Worker</verify> 86*6236dae4SAndroid Build Coastguard Worker</testcase> 87