# Free Software Foundation, version 3.
+from io import StringIO
import unittest
+
from requests import HTTPError
+
from testing.fakeserver import FakeGlowficServer
from fetch import CachingFetcher, DirectFetcher
f.fetch(f"http://localhost:{self._port}")
self.assertEqual(self._server.request_count(), 1)
+ def testCacheHitRateReport(self) -> None:
+ buf = StringIO()
+
+ def log(msg: str) -> None:
+ print(msg, file=buf)
+ with CachingFetcher("testcachehitratereportwithcl", TIMEOUT, log) as f:
+ for _ in range(7):
+ f.fetch(f"http://localhost:{self._port}")
+ self.assertEqual("Fetch cache hits: 6 (85.7%)\n", buf.getvalue())
+
def testFetchErrors(self) -> None:
with DirectFetcher(TIMEOUT) as f:
with self.assertRaises(HTTPError):