X-Git-Url: http://git.scottworley.com/paperdoorknob/blobdiff_plain/e138a9b49da14f16c1de2c02dd928fd5d16aed52..136277e30143cd1219c896bb4980027ac3c6dbe1:/paperdoorknob_test.py diff --git a/paperdoorknob_test.py b/paperdoorknob_test.py index 88897f4..ab13eed 100644 --- a/paperdoorknob_test.py +++ b/paperdoorknob_test.py @@ -9,6 +9,7 @@ import unittest import threading from http.server import BaseHTTPRequestHandler, HTTPServer import requests +import requests_cache import paperdoorknob TIMEOUT = 8 @@ -65,6 +66,29 @@ class TestFetch(unittest.TestCase): paperdoorknob.fetch(f"http://localhost:{self._port()}", s, TIMEOUT) self.assertEqual(self._request_counter, 2) + def testFetchCaching(self) -> None: + with requests_cache.CachedSession() as s: + paperdoorknob.fetch(f"http://localhost:{self._port()}", s, TIMEOUT) + self.assertEqual(self._request_counter, 1) + paperdoorknob.fetch(f"http://localhost:{self._port()}", s, TIMEOUT) + self.assertEqual(self._request_counter, 1) + + def testFetchPersistentCaching(self) -> None: + with requests_cache.CachedSession() as s: + paperdoorknob.fetch(f"http://localhost:{self._port()}", s, TIMEOUT) + self.assertEqual(self._request_counter, 1) + with requests_cache.CachedSession() as s: + paperdoorknob.fetch(f"http://localhost:{self._port()}", s, TIMEOUT) + self.assertEqual(self._request_counter, 1) + + def testFetchConents(self) -> None: + with requests.session() as s: + doc = paperdoorknob.fetch( + f"http://localhost:{self._port()}", s, TIMEOUT) + body = doc.body + assert body + self.assertEqual(body.text, "This is glowfic") + def testFetchErrors(self) -> None: with requests.session() as s: with self.assertRaises(requests.HTTPError):