示例#1
0
    def test_fetch_from_empty_cache(self):
        """Test if there are not any entries returned when the cache is empty"""

        cache = Cache(self.tmp_path)
        rss = RSS(RSS_FEED_URL, cache=cache)
        cached_entries = [entry for entry in rss.fetch_from_cache()]
        self.assertEqual(len(cached_entries), 0)
示例#2
0
    def test_fetch_from_non_set_cache(self):
        """Test if a error is raised when the cache was not set"""

        rss = RSS(RSS_FEED_URL)

        with self.assertRaises(CacheError):
            _ = [entry for entry in rss.fetch_from_cache()]
示例#3
0
    def test_fetch_from_cache(self):
        """Test whether the cache works"""

        http_requests = configure_http_server()

        # First, we fetch the entries from the server, storing them
        # in a cache
        cache = Cache(self.tmp_path)
        rss = RSS(RSS_FEED_URL, cache=cache)

        entries = [entry for entry in rss.fetch()]
        self.assertEqual(len(http_requests), 1)

        # Now, we get the entries from the cache.
        # The contents should be the same and there won't be
        # any new request to the server
        cached_entries = [entry for entry in rss.fetch_from_cache()]
        self.assertEqual(len(cached_entries), len(entries))
        self.assertEqual(len(http_requests), 1)  # no more requests done