def test_hs_middlewares_retry(hs_downloader_middleware, hs_spider_middleware): spider = Spider('test') url = 'http://resp-url' request_0 = Request(url) response_0 = Response(url) hs_downloader_middleware.process_request(request_0, spider) assert HS_REQUEST_ID_KEY not in request_0.meta assert HS_PARENT_ID_KEY not in request_0.meta assert len(hs_spider_middleware._seen_requests) == 0 assert len(hs_downloader_middleware._seen_requests) == 0 hs_downloader_middleware.process_response(request_0, response_0, spider) assert request_0.meta[HS_REQUEST_ID_KEY] == 0 assert request_0.meta[HS_PARENT_ID_KEY] is None assert hs_spider_middleware._seen_requests[request_0] == 0 request_1 = request_0.copy() response_1 = Response(url) assert request_1.meta[HS_REQUEST_ID_KEY] == 0 assert request_1.meta[HS_PARENT_ID_KEY] is None hs_downloader_middleware.process_request(request_1, spider) assert HS_REQUEST_ID_KEY not in request_1.meta assert request_1.meta[HS_PARENT_ID_KEY] == 0 hs_downloader_middleware.process_response(request_1, response_1, spider) assert request_1.meta[HS_REQUEST_ID_KEY] == 1 assert request_1.meta[HS_PARENT_ID_KEY] == 0