1*6236dae4SAndroid Build Coastguard Worker<testcase> 2*6236dae4SAndroid Build Coastguard Worker<info> 3*6236dae4SAndroid Build Coastguard Worker<keywords> 4*6236dae4SAndroid Build Coastguard WorkerHTTP 5*6236dae4SAndroid Build Coastguard WorkerHTTP POST 6*6236dae4SAndroid Build Coastguard WorkerHTTP MIME POST 7*6236dae4SAndroid Build Coastguard Worker</keywords> 8*6236dae4SAndroid Build Coastguard Worker</info> 9*6236dae4SAndroid Build Coastguard Worker 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: Tue, 09 Nov 2010 14:4f:00 GMT 16*6236dae4SAndroid Build Coastguard WorkerServer: test-server/fake swsclose 17*6236dae4SAndroid Build Coastguard WorkerConnection: close 18*6236dae4SAndroid Build Coastguard WorkerContent-Type: text/html 19*6236dae4SAndroid Build Coastguard Worker 20*6236dae4SAndroid Build Coastguard Workerhello 21*6236dae4SAndroid Build Coastguard Worker</data> 22*6236dae4SAndroid Build Coastguard Worker<datacheck> 23*6236dae4SAndroid Build Coastguard WorkerHTTP/1.1 200 OK 24*6236dae4SAndroid Build Coastguard WorkerDate: Tue, 09 Nov 2010 14:4f:00 GMT 25*6236dae4SAndroid Build Coastguard WorkerServer: test-server/fake swsclose 26*6236dae4SAndroid Build Coastguard WorkerConnection: close 27*6236dae4SAndroid Build Coastguard WorkerContent-Type: text/html 28*6236dae4SAndroid Build Coastguard Worker 29*6236dae4SAndroid Build Coastguard Workerhello 30*6236dae4SAndroid Build Coastguard Worker</datacheck> 31*6236dae4SAndroid Build Coastguard Worker</reply> 32*6236dae4SAndroid Build Coastguard Worker 33*6236dae4SAndroid Build Coastguard Worker# Client-side 34*6236dae4SAndroid Build Coastguard Worker<client> 35*6236dae4SAndroid Build Coastguard Worker<features> 36*6236dae4SAndroid Build Coastguard WorkerMime 37*6236dae4SAndroid Build Coastguard Worker</features> 38*6236dae4SAndroid Build Coastguard Worker<server> 39*6236dae4SAndroid Build Coastguard Workerhttp 40*6236dae4SAndroid Build Coastguard Worker</server> 41*6236dae4SAndroid Build Coastguard Worker# tool is what to use instead of 'curl' 42*6236dae4SAndroid Build Coastguard Worker<tool> 43*6236dae4SAndroid Build Coastguard Workerlib%TESTNUMBER 44*6236dae4SAndroid Build Coastguard Worker</tool> 45*6236dae4SAndroid Build Coastguard Worker 46*6236dae4SAndroid Build Coastguard Worker<name> 47*6236dae4SAndroid Build Coastguard WorkerHTTP mimepost early end of data detection 48*6236dae4SAndroid Build Coastguard Worker</name> 49*6236dae4SAndroid Build Coastguard Worker<command> 50*6236dae4SAndroid Build Coastguard Workerhttp://%HOSTIP:%HTTPPORT/%TESTNUMBER %LOGDIR/file%TESTNUMBER.txt 51*6236dae4SAndroid Build Coastguard Worker</command> 52*6236dae4SAndroid Build Coastguard Worker<file name="%LOGDIR/file%TESTNUMBER.txt"> 53*6236dae4SAndroid Build Coastguard WorkerThis is data from a file 54*6236dae4SAndroid Build Coastguard Worker</file> 55*6236dae4SAndroid Build Coastguard Worker</client> 56*6236dae4SAndroid Build Coastguard Worker 57*6236dae4SAndroid Build Coastguard Worker# 58*6236dae4SAndroid Build Coastguard Worker# Verify data after the test has been "shot" 59*6236dae4SAndroid Build Coastguard Worker<verify> 60*6236dae4SAndroid Build Coastguard Worker<strippart> 61*6236dae4SAndroid Build Coastguard Workers/^--------------------------[A-Za-z0-9]*/------------------------------/ 62*6236dae4SAndroid Build Coastguard Workers/boundary=------------------------[A-Za-z0-9]*/boundary=----------------------------/ 63*6236dae4SAndroid Build Coastguard Worker</strippart> 64*6236dae4SAndroid Build Coastguard Worker# Note that the stripping above removes 12 bytes from every occurrence of the 65*6236dae4SAndroid Build Coastguard Worker# boundary string and since 5 of them are in the body contents, we see 66*6236dae4SAndroid Build Coastguard Worker# (5*12) == 60 bytes less 67*6236dae4SAndroid Build Coastguard Worker<protocol> 68*6236dae4SAndroid Build Coastguard WorkerPOST /%TESTNUMBER HTTP/1.1 69*6236dae4SAndroid Build Coastguard WorkerHost: %HOSTIP:%HTTPPORT 70*6236dae4SAndroid Build Coastguard WorkerAccept: */* 71*6236dae4SAndroid Build Coastguard WorkerTransfer-Encoding: chunked 72*6236dae4SAndroid Build Coastguard WorkerContent-Type: multipart/form-data; boundary=---------------------------- 73*6236dae4SAndroid Build Coastguard WorkerExpect: 100-continue 74*6236dae4SAndroid Build Coastguard Worker 75*6236dae4SAndroid Build Coastguard Worker%if hyper 76*6236dae4SAndroid Build Coastguard WorkerCD 77*6236dae4SAndroid Build Coastguard Worker%else 78*6236dae4SAndroid Build Coastguard Workercd 79*6236dae4SAndroid Build Coastguard Worker%endif 80*6236dae4SAndroid Build Coastguard Worker------------------------------ 81*6236dae4SAndroid Build Coastguard WorkerContent-Disposition: form-data; name="field1" 82*6236dae4SAndroid Build Coastguard Worker 83*6236dae4SAndroid Build Coastguard Workerdummy 84*6236dae4SAndroid Build Coastguard Worker------------------------------ 85*6236dae4SAndroid Build Coastguard WorkerContent-Disposition: form-data; name="field2" 86*6236dae4SAndroid Build Coastguard Worker 87*6236dae4SAndroid Build Coastguard Worker 88*6236dae4SAndroid Build Coastguard Worker5 89*6236dae4SAndroid Build Coastguard Workerdummy 90*6236dae4SAndroid Build Coastguard Worker97 91*6236dae4SAndroid Build Coastguard Worker 92*6236dae4SAndroid Build Coastguard Worker------------------------------ 93*6236dae4SAndroid Build Coastguard WorkerContent-Disposition: form-data; name="field3"; filename="file%TESTNUMBER.txt" 94*6236dae4SAndroid Build Coastguard WorkerContent-Type: text/plain 95*6236dae4SAndroid Build Coastguard Worker 96*6236dae4SAndroid Build Coastguard Worker 97*6236dae4SAndroid Build Coastguard Worker%if hyper 98*6236dae4SAndroid Build Coastguard Worker4F 99*6236dae4SAndroid Build Coastguard Worker%else 100*6236dae4SAndroid Build Coastguard Worker4f 101*6236dae4SAndroid Build Coastguard Worker%endif 102*6236dae4SAndroid Build Coastguard WorkerThis is data from a file 103*6236dae4SAndroid Build Coastguard Worker 104*6236dae4SAndroid Build Coastguard Worker-------------------------------- 105*6236dae4SAndroid Build Coastguard Worker 106*6236dae4SAndroid Build Coastguard Worker0 107*6236dae4SAndroid Build Coastguard Worker 108*6236dae4SAndroid Build Coastguard Worker</protocol> 109*6236dae4SAndroid Build Coastguard Worker</verify> 110*6236dae4SAndroid Build Coastguard Worker</testcase> 111