diff options
Diffstat (limited to 'test/netlib')
-rw-r--r-- | test/netlib/http/test_headers.py | 9 | ||||
-rw-r--r-- | test/netlib/http/test_response.py | 5 | ||||
-rw-r--r-- | test/netlib/test_encoding.py | 59 | ||||
-rw-r--r-- | test/netlib/test_strutils.py | 2 |
4 files changed, 41 insertions, 34 deletions
diff --git a/test/netlib/http/test_headers.py b/test/netlib/http/test_headers.py index ad2bc548..e8752c52 100644 --- a/test/netlib/http/test_headers.py +++ b/test/netlib/http/test_headers.py @@ -43,6 +43,15 @@ class TestHeaders(object): with raises(TypeError): Headers([[b"Host", u"not-bytes"]]) + def test_set(self): + headers = Headers() + headers[u"foo"] = u"1" + headers[b"bar"] = b"2" + headers["baz"] = b"3" + with raises(TypeError): + headers["foobar"] = 42 + assert len(headers) == 3 + def test_bytes(self): headers = Headers(Host="example.com") assert bytes(headers) == b"Host: example.com\r\n" diff --git a/test/netlib/http/test_response.py b/test/netlib/http/test_response.py index c7b1b646..e97cc419 100644 --- a/test/netlib/http/test_response.py +++ b/test/netlib/http/test_response.py @@ -34,6 +34,11 @@ class TestResponseCore(object): assert r.status_code == 200 assert r.content == b"" + r = Response.make(418, "teatime") + assert r.status_code == 418 + assert r.content == b"teatime" + assert r.headers["content-length"] == "7" + Response.make(content=b"foo") Response.make(content="foo") with raises(TypeError): diff --git a/test/netlib/test_encoding.py b/test/netlib/test_encoding.py index 08e69ec5..e1175ef0 100644 --- a/test/netlib/test_encoding.py +++ b/test/netlib/test_encoding.py @@ -1,55 +1,46 @@ import mock +import pytest + from netlib import encoding, tutils -def test_identity(): - assert b"string" == encoding.decode(b"string", "identity") - assert b"string" == encoding.encode(b"string", "identity") +@pytest.mark.parametrize("encoder", [ + 'identity', + 'none', +]) +def test_identity(encoder): + assert b"string" == encoding.decode(b"string", encoder) + assert b"string" == encoding.encode(b"string", encoder) with tutils.raises(ValueError): encoding.encode(b"string", "nonexistent encoding") -def test_gzip(): - assert b"string" == encoding.decode( - encoding.encode( - b"string", - "gzip" - ), - "gzip" - ) - with tutils.raises(ValueError): - encoding.decode(b"bogus", "gzip") +@pytest.mark.parametrize("encoder", [ + 'gzip', + 'br', + 'deflate', +]) +def test_encoders(encoder): + assert "" == encoding.decode("", encoder) + assert b"" == encoding.decode(b"", encoder) - -def test_brotli(): - assert b"string" == encoding.decode( + assert "string" == encoding.decode( encoding.encode( - b"string", - "br" + "string", + encoder ), - "br" + encoder ) - with tutils.raises(ValueError): - encoding.decode(b"bogus", "br") - - -def test_deflate(): assert b"string" == encoding.decode( encoding.encode( b"string", - "deflate" + encoder ), - "deflate" - ) - assert b"string" == encoding.decode( - encoding.encode( - b"string", - "deflate" - )[2:-4], - "deflate" + encoder ) + with tutils.raises(ValueError): - encoding.decode(b"bogus", "deflate") + encoding.decode(b"foobar", encoder) def test_cache(): diff --git a/test/netlib/test_strutils.py b/test/netlib/test_strutils.py index 5be254a3..0f58cac5 100644 --- a/test/netlib/test_strutils.py +++ b/test/netlib/test_strutils.py @@ -8,6 +8,8 @@ def test_always_bytes(): assert strutils.always_bytes("foo") == b"foo" with tutils.raises(ValueError): strutils.always_bytes(u"\u2605", "ascii") + with tutils.raises(TypeError): + strutils.always_bytes(42, "ascii") def test_native(): |