From 301d52d9d05f2c5f074fe68c73acc1c32e518020 Mon Sep 17 00:00:00 2001 From: Aldo Cortesi Date: Thu, 20 Oct 2016 11:06:57 +1300 Subject: netlib.encoding -> netlib.http.encoding Encoding is highly specific to http, and only used within this module. --- test/netlib/http/test_encoding.py | 73 +++++++++++++++++++++++++++++++++++++++ test/netlib/test_encoding.py | 72 -------------------------------------- 2 files changed, 73 insertions(+), 72 deletions(-) create mode 100644 test/netlib/http/test_encoding.py delete mode 100644 test/netlib/test_encoding.py (limited to 'test') diff --git a/test/netlib/http/test_encoding.py b/test/netlib/http/test_encoding.py new file mode 100644 index 00000000..681f9bfc --- /dev/null +++ b/test/netlib/http/test_encoding.py @@ -0,0 +1,73 @@ +import mock +import pytest + +from netlib.http import encoding +from netlib import tutils + + +@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") + + +@pytest.mark.parametrize("encoder", [ + 'gzip', + 'br', + 'deflate', +]) +def test_encoders(encoder): + assert "" == encoding.decode("", encoder) + assert b"" == encoding.decode(b"", encoder) + + assert "string" == encoding.decode( + encoding.encode( + "string", + encoder + ), + encoder + ) + assert b"string" == encoding.decode( + encoding.encode( + b"string", + encoder + ), + encoder + ) + + with tutils.raises(ValueError): + encoding.decode(b"foobar", encoder) + + +def test_cache(): + decode_gzip = mock.MagicMock() + decode_gzip.return_value = b"decoded" + encode_gzip = mock.MagicMock() + encode_gzip.return_value = b"encoded" + + with mock.patch.dict(encoding.custom_decode, gzip=decode_gzip): + with mock.patch.dict(encoding.custom_encode, gzip=encode_gzip): + assert encoding.decode(b"encoded", "gzip") == b"decoded" + assert decode_gzip.call_count == 1 + + # should be cached + assert encoding.decode(b"encoded", "gzip") == b"decoded" + assert decode_gzip.call_count == 1 + + # the other way around as well + assert encoding.encode(b"decoded", "gzip") == b"encoded" + assert encode_gzip.call_count == 0 + + # different encoding + decode_gzip.return_value = b"bar" + assert encoding.encode(b"decoded", "deflate") != b"decoded" + assert encode_gzip.call_count == 0 + + # This is not in the cache anymore + assert encoding.encode(b"decoded", "gzip") == b"encoded" + assert encode_gzip.call_count == 1 diff --git a/test/netlib/test_encoding.py b/test/netlib/test_encoding.py deleted file mode 100644 index e1175ef0..00000000 --- a/test/netlib/test_encoding.py +++ /dev/null @@ -1,72 +0,0 @@ -import mock -import pytest - -from netlib import encoding, tutils - - -@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") - - -@pytest.mark.parametrize("encoder", [ - 'gzip', - 'br', - 'deflate', -]) -def test_encoders(encoder): - assert "" == encoding.decode("", encoder) - assert b"" == encoding.decode(b"", encoder) - - assert "string" == encoding.decode( - encoding.encode( - "string", - encoder - ), - encoder - ) - assert b"string" == encoding.decode( - encoding.encode( - b"string", - encoder - ), - encoder - ) - - with tutils.raises(ValueError): - encoding.decode(b"foobar", encoder) - - -def test_cache(): - decode_gzip = mock.MagicMock() - decode_gzip.return_value = b"decoded" - encode_gzip = mock.MagicMock() - encode_gzip.return_value = b"encoded" - - with mock.patch.dict(encoding.custom_decode, gzip=decode_gzip): - with mock.patch.dict(encoding.custom_encode, gzip=encode_gzip): - assert encoding.decode(b"encoded", "gzip") == b"decoded" - assert decode_gzip.call_count == 1 - - # should be cached - assert encoding.decode(b"encoded", "gzip") == b"decoded" - assert decode_gzip.call_count == 1 - - # the other way around as well - assert encoding.encode(b"decoded", "gzip") == b"encoded" - assert encode_gzip.call_count == 0 - - # different encoding - decode_gzip.return_value = b"bar" - assert encoding.encode(b"decoded", "deflate") != b"decoded" - assert encode_gzip.call_count == 0 - - # This is not in the cache anymore - assert encoding.encode(b"decoded", "gzip") == b"encoded" - assert encode_gzip.call_count == 1 -- cgit v1.2.3