test643 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. <testcase>
  2. <info>
  3. <keywords>
  4. HTTP
  5. HTTP POST
  6. HTTP MIME POST
  7. </keywords>
  8. </info>
  9. #
  10. # Server-side
  11. <reply>
  12. <data>
  13. HTTP/1.1 200 OK
  14. Date: Thu, 09 Nov 2010 14:49:00 GMT
  15. Server: test-server/fake swsclose
  16. Connection: close
  17. Content-Type: text/html
  18. hello
  19. </data>
  20. <datacheck>
  21. HTTP/1.1 200 OK
  22. Date: Thu, 09 Nov 2010 14:49:00 GMT
  23. Server: test-server/fake swsclose
  24. Connection: close
  25. Content-Type: text/html
  26. hello
  27. HTTP/1.1 200 OK
  28. Date: Thu, 09 Nov 2010 14:49:00 GMT
  29. Server: test-server/fake swsclose
  30. Connection: close
  31. Content-Type: text/html
  32. hello
  33. </datacheck>
  34. </reply>
  35. # Client-side
  36. <client>
  37. <server>
  38. http
  39. </server>
  40. # tool is what to use instead of 'curl'
  41. <tool>
  42. lib643
  43. </tool>
  44. <name>
  45. HTTP multi-part mimepost using read callback for the file part
  46. </name>
  47. <command>
  48. http://%HOSTIP:%HTTPPORT/643
  49. </command>
  50. </client>
  51. #
  52. # Verify data after the test has been "shot"
  53. <verify>
  54. <strippart>
  55. s/^--------------------------[a-z0-9]*/------------------------------/
  56. s/boundary=------------------------[a-z0-9]*/boundary=----------------------------/
  57. </strippart>
  58. # Note that the stripping above removes 12 bytes from every occurrence of the
  59. # boundary string and since 5 of them are in the body contents, we see
  60. # (5*12) == 60 bytes less
  61. <protocol>
  62. POST /643 HTTP/1.1
  63. Host: %HOSTIP:%HTTPPORT
  64. Accept: */*
  65. Content-Length: 718
  66. Content-Type: multipart/form-data; boundary=----------------------------
  67. ------------------------------
  68. Content-Disposition: form-data; name="sendfile"; filename="postit2.c"
  69. this is what we post to the silly web server
  70. ------------------------------
  71. Content-Disposition: form-data; name="callbackdata"
  72. this is what we post to the silly web server
  73. ------------------------------
  74. Content-Disposition: form-data; name="filename"
  75. postit2.c
  76. ------------------------------
  77. Content-Disposition: form-data; name="submit"
  78. send
  79. ------------------------------
  80. Content-Disposition: form-data; name="somename"; filename="somefile.txt"
  81. Content-Type: text/plain
  82. blah blah
  83. --------------------------------
  84. POST /643 HTTP/1.1
  85. Host: %HOSTIP:%HTTPPORT
  86. Accept: */*
  87. Content-Length: 732
  88. Content-Type: multipart/form-data; boundary=----------------------------
  89. ------------------------------
  90. Content-Disposition: form-data; name="sendfile alternative"; filename="file name 2"
  91. this is what we post to the silly web server
  92. ------------------------------
  93. Content-Disposition: form-data; name="callbackdata"
  94. this is what we post to the silly web server
  95. ------------------------------
  96. Content-Disposition: form-data; name="filename"
  97. postit2.c
  98. ------------------------------
  99. Content-Disposition: form-data; name="submit"
  100. send
  101. ------------------------------
  102. Content-Disposition: form-data; name="somename"; filename="somefile.txt"
  103. Content-Type: text/plain
  104. blah blah
  105. --------------------------------
  106. </protocol>
  107. </verify>
  108. </testcase>