def test_fetch_from_empty_cache(self): """Test if there are not any pages returned when the cache is empty""" cache = Cache(self.tmp_path) mediawiki = MediaWiki(MEDIAWIKI_SERVER_URL, cache=cache) cached_pages = [page for page in mediawiki.fetch_from_cache()] self.assertEqual(len(cached_pages), 0)
def test_fetch_from_non_set_cache(self): """Test if a error is raised when the cache was not set""" mediawiki = MediaWiki(MEDIAWIKI_SERVER_URL) with self.assertRaises(CacheError): _ = [page for page in mediawiki.fetch_from_cache()]
def _test_fetch_from_cache(self, version, reviews_api=False): """Test whether the cache works""" HTTPServer.routes(version) # First, we fetch the pages from the server, storing them # in a cache shutil.rmtree(self.tmp_path) cache = Cache(self.tmp_path) mediawiki = MediaWiki(MEDIAWIKI_SERVER_URL, cache=cache) pages = [page for page in mediawiki.fetch(reviews_api=reviews_api)] requests_done = len(HTTPServer.requests_http) # Now, we get the pages from the cache. cached_pages = [page for page in mediawiki.fetch_from_cache()] # No new requests to the server self.assertEqual(len(HTTPServer.requests_http), requests_done) self.assertEqual(len(cached_pages), len(pages)) if version == "1.28" and reviews_api: # 2 pages in all name spaces self.assertEqual(len(pages), 2) elif version == "1.23" or not reviews_api: # 2 pages per each of the 5 name spaces self.assertEqual(len(pages), 10) HTTPServer.check_pages_contents(self, pages) # Now let's tests more than one execution in the same cache shutil.rmtree(self.tmp_path) cache = Cache(self.tmp_path) mediawiki = MediaWiki(MEDIAWIKI_SERVER_URL, cache=cache) pages = [page for page in mediawiki.fetch(reviews_api=reviews_api)] pages_1 = [page for page in mediawiki.fetch(reviews_api=reviews_api)] cached_pages = [page for page in mediawiki.fetch_from_cache()] if version == "1.28" and reviews_api: # 2 unique pages x2 caches self.assertEqual(len(cached_pages), 4) elif version == "1.23" or not reviews_api: # 2 pages per each of the 5 name spaces, x2 caches self.assertEqual(len(cached_pages), 10 * 2)