MCPcopy Create free account
hub / github.com/psf/cachecontrol / TestSerializer

Class TestSerializer

tests/test_serialization.py:13–116  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

11
12
13class TestSerializer:
14 def setup_method(self):
15 self.serializer = Serializer()
16 self.response_data = {
17 "response": {
18 # Encode the body as bytes b/c it will eventually be
19 # converted back into a BytesIO object.
20 "body": b"Hello World",
21 "headers": {
22 "Content-Type": "text/plain",
23 "Expires": "87654",
24 "Cache-Control": "public",
25 },
26 "status": 200,
27 "version": 11,
28 "reason": "",
29 "strict": True,
30 "decode_content": True,
31 }
32 }
33
34 def test_load_by_version_v0(self):
35 data = b"cc=0,somedata"
36 req = Mock()
37 resp = self.serializer.loads(req, data)
38 assert resp is None
39
40 def test_load_by_version_v1(self):
41 data = b"cc=1,somedata"
42 req = Mock()
43 resp = self.serializer.loads(req, data)
44 assert resp is None
45
46 def test_load_by_version_v2(self):
47 data = b"cc=2,somedata"
48 req = Mock()
49 resp = self.serializer.loads(req, data)
50 assert resp is None
51
52 def test_load_by_version_v3(self):
53 data = b"cc=3,somedata"
54 req = Mock()
55 resp = self.serializer.loads(req, data)
56 assert resp is None
57
58 def test_read_version_v4(self):
59 req = Mock()
60 resp = self.serializer._loads_v4(req, msgpack.dumps(self.response_data))
61 # We have to decode our urllib3 data back into a unicode string.
62 assert resp.data == b"Hello World"
63
64 def test_read_latest_version_streamable(self, url):
65 original_resp = requests.get(url, stream=True)
66 req = original_resp.request
67
68 resp = self.serializer.loads(
69 req, self.serializer.dumps(req, original_resp.raw, original_resp.content)
70 )

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…