OXIESEC PANEL
- Current Dir:
/
/
opt
/
gsutil
/
third_party
/
urllib3
/
test
Server IP: 2a02:4780:11:1594:0:ef5:22d7:a
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
12/11/2024 09:39:44 AM
rwxr-xr-x
📄
__init__.py
10.11 KB
06/17/2024 08:00:39 AM
rw-r--r--
📄
conftest.py
12.06 KB
06/17/2024 08:00:39 AM
rw-r--r--
📁
contrib
-
06/17/2024 08:00:39 AM
rwxr-xr-x
📄
port_helpers.py
6.08 KB
06/17/2024 08:00:39 AM
rw-r--r--
📄
test_collections.py
13.97 KB
06/17/2024 08:00:39 AM
rw-r--r--
📄
test_compatibility.py
692 bytes
06/17/2024 08:00:39 AM
rw-r--r--
📄
test_connection.py
12.46 KB
06/17/2024 08:00:39 AM
rw-r--r--
📄
test_connectionpool.py
22.24 KB
06/17/2024 08:00:39 AM
rw-r--r--
📄
test_exceptions.py
2.11 KB
06/17/2024 08:00:39 AM
rw-r--r--
📄
test_fields.py
4.33 KB
06/17/2024 08:00:39 AM
rw-r--r--
📄
test_filepost.py
3.66 KB
06/17/2024 08:00:39 AM
rw-r--r--
📄
test_no_ssl.py
978 bytes
06/17/2024 08:00:39 AM
rw-r--r--
📄
test_poolmanager.py
18.36 KB
06/17/2024 08:00:39 AM
rw-r--r--
📄
test_proxymanager.py
3.57 KB
06/17/2024 08:00:39 AM
rw-r--r--
📄
test_queue_monkeypatch.py
761 bytes
06/17/2024 08:00:39 AM
rw-r--r--
📄
test_response.py
56.37 KB
06/17/2024 08:00:39 AM
rw-r--r--
📄
test_retry.py
16.32 KB
06/17/2024 08:00:39 AM
rw-r--r--
📄
test_ssl.py
7.63 KB
06/17/2024 08:00:39 AM
rw-r--r--
📄
test_ssltransport.py
20.63 KB
06/17/2024 08:00:39 AM
rw-r--r--
📄
test_util.py
42.74 KB
06/17/2024 08:00:39 AM
rw-r--r--
📄
test_wait.py
5.86 KB
06/17/2024 08:00:39 AM
rw-r--r--
📄
tz_stub.py
1.16 KB
06/17/2024 08:00:39 AM
rw-r--r--
📁
with_dummyserver
-
06/17/2024 08:00:39 AM
rwxr-xr-x
Editing: test_filepost.py
Close
from __future__ import annotations import pytest from urllib3.fields import RequestField from urllib3.filepost import _TYPE_FIELDS, encode_multipart_formdata BOUNDARY = "!! test boundary !!" BOUNDARY_BYTES = BOUNDARY.encode() class TestMultipartEncoding: @pytest.mark.parametrize( "fields", [dict(k="v", k2="v2"), [("k", "v"), ("k2", "v2")]] ) def test_input_datastructures(self, fields: _TYPE_FIELDS) -> None: encoded, _ = encode_multipart_formdata(fields, boundary=BOUNDARY) assert encoded.count(BOUNDARY_BYTES) == 3 @pytest.mark.parametrize( "fields", [ [("k", "v"), ("k2", "v2")], [("k", b"v"), ("k2", b"v2")], [("k", b"v"), ("k2", "v2")], ], ) def test_field_encoding(self, fields: _TYPE_FIELDS) -> None: encoded, content_type = encode_multipart_formdata(fields, boundary=BOUNDARY) expected = ( b"--" + BOUNDARY_BYTES + b"\r\n" b'Content-Disposition: form-data; name="k"\r\n' b"\r\n" b"v\r\n" b"--" + BOUNDARY_BYTES + b"\r\n" b'Content-Disposition: form-data; name="k2"\r\n' b"\r\n" b"v2\r\n" b"--" + BOUNDARY_BYTES + b"--\r\n" ) assert encoded == expected assert content_type == "multipart/form-data; boundary=" + str(BOUNDARY) def test_filename(self) -> None: fields = [("k", ("somename", b"v"))] encoded, content_type = encode_multipart_formdata(fields, boundary=BOUNDARY) expected = ( b"--" + BOUNDARY_BYTES + b"\r\n" b'Content-Disposition: form-data; name="k"; filename="somename"\r\n' b"Content-Type: application/octet-stream\r\n" b"\r\n" b"v\r\n" b"--" + BOUNDARY_BYTES + b"--\r\n" ) assert encoded == expected assert content_type == "multipart/form-data; boundary=" + str(BOUNDARY) def test_textplain(self) -> None: fields = [("k", ("somefile.txt", b"v"))] encoded, content_type = encode_multipart_formdata(fields, boundary=BOUNDARY) expected = ( b"--" + BOUNDARY_BYTES + b"\r\n" b'Content-Disposition: form-data; name="k"; filename="somefile.txt"\r\n' b"Content-Type: text/plain\r\n" b"\r\n" b"v\r\n" b"--" + BOUNDARY_BYTES + b"--\r\n" ) assert encoded == expected assert content_type == "multipart/form-data; boundary=" + str(BOUNDARY) def test_explicit(self) -> None: fields = [("k", ("somefile.txt", b"v", "image/jpeg"))] encoded, content_type = encode_multipart_formdata(fields, boundary=BOUNDARY) expected = ( b"--" + BOUNDARY_BYTES + b"\r\n" b'Content-Disposition: form-data; name="k"; filename="somefile.txt"\r\n' b"Content-Type: image/jpeg\r\n" b"\r\n" b"v\r\n" b"--" + BOUNDARY_BYTES + b"--\r\n" ) assert encoded == expected assert content_type == "multipart/form-data; boundary=" + str(BOUNDARY) def test_request_fields(self) -> None: fields = [ RequestField( "k", b"v", filename="somefile.txt", headers={"Content-Type": "image/jpeg"}, ) ] encoded, content_type = encode_multipart_formdata(fields, boundary=BOUNDARY) expected = ( b"--" + BOUNDARY_BYTES + b"\r\n" b"Content-Type: image/jpeg\r\n" b"\r\n" b"v\r\n" b"--" + BOUNDARY_BYTES + b"--\r\n" ) assert encoded == expected