123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243 |
- <testcase>
- <info>
- <keywords>
- HTTP
- HTTP POST
- FORM
- </keywords>
- </info>
- #
- # Server-side
- <reply>
- <data nocheck="yes">
- HTTP/1.1 301 OK
- Date: Tue, 09 Nov 2010 14:49:00 GMT
- Server: test-server/fake swsclose
- Connection: close
- Content-Type: text/html
- Location: /%TESTNUMBER0002
- hello
- </data>
- <data2 crlf="yes">
- HTTP/1.1 200 OK
- Date: Tue, 09 Nov 2010 14:49:00 GMT
- Server: test-server/fake
- Content-Length: 6
- Connection: close
- Content-Type: text/html
- -foo-
- </data2>
- </reply>
- # Client-side
- <client>
- <features>
- form-api
- </features>
- <server>
- http
- </server>
- # tool is what to use instead of 'curl'
- <tool>
- lib%TESTNUMBER
- </tool>
- <name>
- HTTP formpost using form API - with redirect and re-POST
- </name>
- <stdin>
- Some data from stdin
- </stdin>
- <command>
- http://%HOSTIP:%HTTPPORT/%TESTNUMBER %LOGDIR/test%TESTNUMBER.filedata
- </command>
- <file name="%LOGDIR/test%TESTNUMBER.filedata">
- This is data from a file.
- </file>
- </client>
- #
- # Verify data bbter the test has been "shot"
- <verify>
- <strippart>
- s/^--------------------------[A-Za-z0-9]*/------------------------------/
- s/boundary=------------------------[A-Za-z0-9]*/boundary=----------------------------/
- </strippart>
- # Note that the stripping above removes 12 bytes from every occurrence of the
- # boundary string and since 5 of them are in the body contents, we see
- # (5*12) == 60 bytes less
- <protocol>
- POST /%TESTNUMBER HTTP/1.1
- Host: %HOSTIP:%HTTPPORT
- Accept: */*
- Transfer-Encoding: chunked
- Content-Type: multipart/form-data; boundary=----------------------------
- Expect: 100-continue
- 385
- ------------------------------
- Content-Disposition: form-data; name="fieldname"
- Content-Type: text/plain
- X-customheader-1: Header 1 data
- X-customheader-2: Header 2 data
- this is what we post to the silly web server
- ------------------------------
- Content-Disposition: form-data; name="fieldnam"
- uhis is what we post to the silly web serve
- ------------------------------
- Content-Disposition: form-data; name="multifile"
- Content-Type: multipart/mixed; boundary=----------------------------
- ------------------------------
- Content-Disposition: attachment; filename="test%TESTNUMBER.filedata"
- Content-Type: application/octet-stream
- This is data from a file.
- ------------------------------
- Content-Disposition: attachment; filename="test%TESTNUMBER.filedata"
- Content-Type: text/whatever
- %if hyper
- AB
- %else
- ab
- %endif
- This is data from a file.
- ------------------------------
- Content-Disposition: attachment; filename="test%TESTNUMBER.filedata"
- Content-Type: text/whatever
- %if hyper
- BB
- %else
- bb
- %endif
- This is data from a file.
- --------------------------------
- ------------------------------
- Content-Disposition: form-data; name="filecontents"
- %if hyper
- 11B
- %else
- 11b
- %endif
- This is data from a file.
- ------------------------------
- Content-Disposition: form-data; name="formlength"
- 1433
- ------------------------------
- Content-Disposition: form-data; name="standardinput"
- Content-Type: application/octet-stream
- 16
- Some data from stdin
- 36
- --------------------------------
- 0
- POST /%TESTNUMBER0002 HTTP/1.1
- Host: %HOSTIP:%HTTPPORT
- Accept: */*
- Transfer-Encoding: chunked
- Content-Type: multipart/form-data; boundary=----------------------------
- Expect: 100-continue
- 385
- ------------------------------
- Content-Disposition: form-data; name="fieldname"
- Content-Type: text/plain
- X-customheader-1: Header 1 data
- X-customheader-2: Header 2 data
- this is what we post to the silly web server
- ------------------------------
- Content-Disposition: form-data; name="fieldnam"
- uhis is what we post to the silly web serve
- ------------------------------
- Content-Disposition: form-data; name="multifile"
- Content-Type: multipart/mixed; boundary=----------------------------
- ------------------------------
- Content-Disposition: attachment; filename="test%TESTNUMBER.filedata"
- Content-Type: application/octet-stream
- This is data from a file.
- ------------------------------
- Content-Disposition: attachment; filename="test%TESTNUMBER.filedata"
- Content-Type: text/whatever
- %if hyper
- AB
- %else
- ab
- %endif
- This is data from a file.
- ------------------------------
- Content-Disposition: attachment; filename="test%TESTNUMBER.filedata"
- Content-Type: text/whatever
- %if hyper
- BB
- %else
- bb
- %endif
- This is data from a file.
- --------------------------------
- ------------------------------
- Content-Disposition: form-data; name="filecontents"
- %if hyper
- 11B
- %else
- 11b
- %endif
- This is data from a file.
- ------------------------------
- Content-Disposition: form-data; name="formlength"
- 1433
- ------------------------------
- Content-Disposition: form-data; name="standardinput"
- Content-Type: application/octet-stream
- 16
- Some data from stdin
- 36
- --------------------------------
- 0
- </protocol>
- </verify>
- </testcase>
|