def test_fetch_from_empty_cache(self): """Test if there are not any events returned when the cache is empty""" cache = Cache(self.tmp_path) remo = ReMo(MOZILLA_REPS_SERVER_URL, cache=cache) cached_events = [event for event in remo.fetch_from_cache()] self.assertEqual(len(cached_events), 0)
def test_fetch_from_non_set_cache(self): """Test if a error is raised when the cache was not set""" remo = ReMo(MOZILLA_REPS_SERVER_URL) with self.assertRaises(CacheError): _ = [event for event in remo.fetch_from_cache()]
def __test_fetch_from_cache(self, category): """Test whether the cache works""" HTTPServer.routes() # First, we fetch the events from the server, storing them # in a cache cache = Cache(self.tmp_path) remo = ReMo(MOZILLA_REPS_SERVER_URL, cache=cache) items = [item for item in remo.fetch(category=category)] requests_done = len(HTTPServer.requests_http) # Now, we get the items from the cache. # The contents should be the same and there won't be # any new request to the server cached_items = [item for item in remo.fetch_from_cache()] # No new requests to the server self.assertEqual(len(HTTPServer.requests_http), requests_done) # The contents should be the same self.assertEqual(len(cached_items), len(items)) for i in range(0, len(items)): self.assertDictEqual(cached_items[i]['data'], items[i]['data']) self.assertEqual(cached_items[i]['offset'], items[i]['offset'])