summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorademarco <24erre@gmail.com>2012-12-07 17:27:03 +0100
committerademarco <24erre@gmail.com>2012-12-07 17:27:03 +0100
commit0fe4a9d6007c2ab0f687da0ee9777513f3144a5a (patch)
tree887b42cfa5792f37331a5f33bf6633b72946179f
parentea2a77ff7e8f1e312067b614c674a343d3bde011 (diff)
downloadhttpretty-0fe4a9d6007c2ab0f687da0ee9777513f3144a5a.tar.gz
Multipart func test as requested in #19
-rw-r--r--tests/functional/test_requests.py21
1 files changed, 20 insertions, 1 deletions
diff --git a/tests/functional/test_requests.py b/tests/functional/test_requests.py
index adeccf7..ac57907 100644
--- a/tests/functional/test_requests.py
+++ b/tests/functional/test_requests.py
@@ -328,4 +328,23 @@ def test_multiline():
expect(response.status_code).to.equal(200)
expect(HTTPretty.last_request.method).to.equal('POST')
expect(HTTPretty.last_request.path).to.equal('/post')
- expect(HTTPretty.last_request.body).to.equal('content=Im\r\na multiline\r\n\r\nsentence\r\n') \ No newline at end of file
+ expect(HTTPretty.last_request.body).to.equal(data)
+ expect(HTTPretty.last_request.headers['content-length']).to.equal('37')
+ expect(HTTPretty.last_request.headers['content-type']).to.equal('application/x-www-form-urlencoded; charset=utf-8')
+
+@httprettified
+def test_multipart():
+ url = 'http://httpbin.org/post'
+ data = '--xXXxXXyYYzzz\r\nContent-Disposition: form-data; name="content"\r\nContent-Type: text/plain; charset=utf-8\r\nContent-Length: 68\r\n\r\nAction: comment\nText: Comment with attach\nAttachment: x1.txt, x2.txt\r\n--xXXxXXyYYzzz\r\nContent-Disposition: form-data; name="attachment_2"; filename="x.txt"\r\nContent-Type: text/plain\r\nContent-Length: 4\r\n\r\nbye\n\r\n--xXXxXXyYYzzz\r\nContent-Disposition: form-data; name="attachment_1"; filename="x.txt"\r\nContent-Type: text/plain\r\nContent-Length: 4\r\n\r\nbye\n\r\n--xXXxXXyYYzzz--\r\n'
+ headers = {'Content-Length': '495', 'Content-Type': 'multipart/form-data; boundary=xXXxXXyYYzzz', 'Accept': 'text/plain'}
+ HTTPretty.register_uri(
+ HTTPretty.POST,
+ url,
+ )
+ response = requests.post(url, data=data, headers=headers )
+ expect(response.status_code).to.equal(200)
+ expect(HTTPretty.last_request.method).to.equal('POST')
+ expect(HTTPretty.last_request.path).to.equal('/post')
+ expect(HTTPretty.last_request.body).to.equal(data)
+ expect(HTTPretty.last_request.headers['content-length']).to.equal('495')
+ expect(HTTPretty.last_request.headers['content-type']).to.equal('multipart/form-data; boundary=xXXxXXyYYzzz')