diff options
author | rjt-gupta <rajat.gupta99924@gmail.com> | 2019-01-29 22:35:01 +0530 |
---|---|---|
committer | rjt-gupta <rajat.gupta99924@gmail.com> | 2019-02-06 03:42:07 +0530 |
commit | d08d2185eab0d58eef7a2b32d557475e51acb61a (patch) | |
tree | d76b9af48af88a659ade8c3770c44835f269b506 /test | |
parent | 4df325335b4abcdea6d59314ebfc96e7465a3979 (diff) | |
download | mitmproxy-d08d2185eab0d58eef7a2b32d557475e51acb61a.tar.gz mitmproxy-d08d2185eab0d58eef7a2b32d557475e51acb61a.tar.bz2 mitmproxy-d08d2185eab0d58eef7a2b32d557475e51acb61a.zip |
multipart encoder and tests
Diffstat (limited to 'test')
-rw-r--r-- | test/mitmproxy/net/http/test_multipart.py | 18 | ||||
-rw-r--r-- | test/mitmproxy/net/http/test_request.py | 8 |
2 files changed, 22 insertions, 4 deletions
diff --git a/test/mitmproxy/net/http/test_multipart.py b/test/mitmproxy/net/http/test_multipart.py index 68ae6bbd..ce7dee5a 100644 --- a/test/mitmproxy/net/http/test_multipart.py +++ b/test/mitmproxy/net/http/test_multipart.py @@ -1,5 +1,6 @@ from mitmproxy.net.http import Headers from mitmproxy.net.http import multipart +import pytest def test_decode(): @@ -22,3 +23,20 @@ def test_decode(): assert len(form) == 2 assert form[0] == (b"field1", b"value1") assert form[1] == (b"field2", b"value2") + + +def test_encode(): + data = [("file".encode('utf-8'), "shell.jpg".encode('utf-8')), + ("file_size".encode('utf-8'), "1000".encode('utf-8'))] + headers = Headers( + content_type='multipart/form-data; boundary=127824672498' + ) + content = multipart.encode(headers, data) + + assert b'Content-Disposition: form-data; name="file"' in content + assert b'Content-Type: text/plain; charset=utf-8\r\n\r\nshell.jpg\r\n\r\n--127824672498\r\n' in content + assert b'1000\r\n\r\n--127824672498--\r\n' + assert len(content) == 252 + + with pytest.raises(ValueError, match=r"boundary found in encoded string"): + multipart.encode(headers, [("key".encode('utf-8'), "--127824672498".encode('utf-8'))]) diff --git a/test/mitmproxy/net/http/test_request.py b/test/mitmproxy/net/http/test_request.py index 6ef73389..71d5c7a1 100644 --- a/test/mitmproxy/net/http/test_request.py +++ b/test/mitmproxy/net/http/test_request.py @@ -371,7 +371,7 @@ class TestRequestUtils: assert list(request.multipart_form.items()) == [] def test_set_multipart_form(self): - request = treq(content=b"foobar") - request.multipart_form = [("filename", "shell.jpg"), ("file_size", "1000")] - assert request.headers['Content-Type'] == "multipart/form-data" - assert request.content + request = treq() + request.multipart_form = [("file", "shell.jpg"), ("file_size", "1000")] + assert request.headers["Content-Type"] == 'multipart/form-data' + assert request.content is None |