def test_h_enabled(): spider = Spider('spidr') spider.count_limits = {'page_host_count': 1, 'item_host_count': 1} mw = _mock_mw(spider, HostsCountFilterMiddleware) req = Request('http://quotes.toscrape.com') mw.page_count(None, req, spider) mw.process_request(req, spider) with pytest.raises(IgnoreRequest): mw.page_count(None, req, spider) mw.process_request(req, spider) assert mw.page_host_counter['quotes.toscrape.com'] == 2
def test_g_enabled(): spider = Spider('spidr') spider.count_limits = {'page_count': 1, 'item_count': 1} mw = _mock_mw(spider, GlobalCountFilterMiddleware) req = Request('http://quotes.toscrape.com') mw.page_count(None, req, spider) mw.process_request(req, spider) assert mw.counter['page_count'] == 1 mw.page_count(None, req, spider) mw.process_request(req, spider) assert mw.counter['page_count'] == 2 closed_result = mw.crawler.engine.fake_spider_closed_result assert closed_result is not None assert closed_result[1] == 'closespider_global_counters_overflow'