From ed28606c22c3fe6edb59d7f4e07b46e682c644a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adri=C3=A1n=20Chaves?= Date: Tue, 16 Apr 2024 20:20:22 +0200 Subject: [PATCH] Skip failing tests on older Scrapy due to a Scrapy bug --- tests/test_components_request.py | 13 ++++++++----- tox.ini | 2 +- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/tests/test_components_request.py b/tests/test_components_request.py index dd1a2c9b..d9cf40de 100644 --- a/tests/test_components_request.py +++ b/tests/test_components_request.py @@ -1,9 +1,13 @@ import base64 import pytest +import scrapy +from packaging.version import Version from zyte_common_items import Header, Request +_SCRAPY_VERSION = Version(scrapy.__version__) + def test_request_no_kwargs(): req = Request("http://example.com") @@ -23,7 +27,6 @@ def test_request_body_bytes(): def test_request_to_scrapy_basic(): - scrapy = pytest.importorskip("scrapy") req = Request("http://example.com") scrapy_req = req.to_scrapy(None) @@ -34,7 +37,6 @@ def test_request_to_scrapy_basic(): def test_request_to_scrapy_complex(): - scrapy = pytest.importorskip("scrapy") def callback(): pass @@ -62,11 +64,12 @@ def callback(): assert scrapy_req.priority == 5 +@pytest.mark.skipif( + _SCRAPY_VERSION < Version("2.7.0"), + reason="https://github.com/scrapy/scrapy/issues/5515", +) def test_request_to_scrapy_headers_with_the_same_name(): - pytest.importorskip("scrapy") - headers = [Header(name="name", value="value1"), Header(name="name", value="value2")] - req = Request("http://example.com", headers=headers) scrapy_req = req.to_scrapy(callback=None) assert scrapy_req.headers.getlist("name") == [b"value1", b"value2"] diff --git a/tox.ini b/tox.ini index 6431622a..b3672a48 100644 --- a/tox.ini +++ b/tox.ini @@ -38,9 +38,9 @@ deps = # For Jinja2: markupsafe==1.1.1 price-parser==0.3.4 + scrapy==2.0.1 web-poet==0.14.0 zyte-parsers==0.5.0 - scrapy==2.7.0 [testenv:docs] changedir = docs