Exemple #1
0
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
Exemple #2
0
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'