aboutsummaryrefslogtreecommitdiffstats
path: root/test/netlib
diff options
context:
space:
mode:
Diffstat (limited to 'test/netlib')
-rw-r--r--test/netlib/http/test_headers.py9
-rw-r--r--test/netlib/http/test_response.py5
-rw-r--r--test/netlib/test_encoding.py59
-rw-r--r--test/netlib/test_strutils.py2
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():