Skip to content

Commit

Permalink
Update tests
Browse files Browse the repository at this point in the history
  • Loading branch information
Gallaecio committed Feb 17, 2025
1 parent 41fab28 commit c52c552
Show file tree
Hide file tree
Showing 5 changed files with 23 additions and 7 deletions.
7 changes: 5 additions & 2 deletions tests/__init__.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
from contextlib import asynccontextmanager, contextmanager
from copy import deepcopy
from os import environ
from typing import Any, Dict, Optional

Expand Down Expand Up @@ -68,11 +69,13 @@ class DummySpider(Spider):


async def get_crawler(
settings=None, spider_cls=DummySpider, setup_engine=True, use_addon=False
settings=None, spider_cls=DummySpider, setup_engine=True, use_addon=False, poet=True
):
settings = settings or {}
base_settings: SETTINGS_T = SETTINGS if not use_addon else SETTINGS_ADDON
base_settings: SETTINGS_T = deepcopy(SETTINGS if not use_addon else SETTINGS_ADDON)
final_settings = {**base_settings, **settings}
if poet and _POET_ADDON_SUPPORT:
final_settings.setdefault("ADDONS", {})["scrapy_poet.Addon"] = 300
crawler = _get_crawler(settings_dict=final_settings, spidercls=spider_cls)
if setup_engine:
await setup_crawler_engine(crawler)
Expand Down
6 changes: 4 additions & 2 deletions tests/test_addon.py
Original file line number Diff line number Diff line change
Expand Up @@ -83,8 +83,10 @@ async def test_addon_fallback_explicit():

@ensureDeferred
async def test_addon_matching_settings():
crawler = await get_crawler_zyte_api({"ZYTE_API_TRANSPARENT_MODE": True})
addon_crawler = await get_crawler_zyte_api(use_addon=True)
crawler = await get_crawler_zyte_api(
{"ZYTE_API_TRANSPARENT_MODE": True}, poet=False
)
addon_crawler = await get_crawler_zyte_api(use_addon=True, poet=False)
assert serialize_settings(crawler.settings) == serialize_settings(
addon_crawler.settings
)
Expand Down
8 changes: 7 additions & 1 deletion tests/test_handler.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,11 @@
_body_max_size_exceeded,
)
from scrapy_zyte_api.responses import ZyteAPITextResponse
from scrapy_zyte_api.utils import _AUTOTHROTTLE_DONT_ADJUST_DELAY_SUPPORT, USER_AGENT
from scrapy_zyte_api.utils import (
_AUTOTHROTTLE_DONT_ADJUST_DELAY_SUPPORT,
_POET_ADDON_SUPPORT,
USER_AGENT,
)

from . import DEFAULT_CLIENT_CONCURRENCY, SETTINGS, SETTINGS_T, UNSET
from . import get_crawler as get_crawler_zyte_api
Expand Down Expand Up @@ -622,6 +626,8 @@ def parse(self, response):
"ZYTE_API_TRANSPARENT_MODE": True,
**SETTINGS,
}
if _POET_ADDON_SUPPORT:
settings["ADDONS"] = {"scrapy_poet.Addon": 300}

with MockServer() as server:
settings["ZYTE_API_URL"] = server.urljoin("/")
Expand Down
4 changes: 4 additions & 0 deletions tests/test_referer.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@
from scrapy import Spider, signals
from scrapy.utils.test import get_crawler

from scrapy_zyte_api.utils import _POET_ADDON_SUPPORT

try:
import scrapy.addons # noqa: F401
except ImportError:
Expand Down Expand Up @@ -266,6 +268,8 @@ async def test_main(settings, meta, headers, expected, mockserver):
items = []
settings = deepcopy(settings)
settings["ZYTE_API_URL"] = mockserver.urljoin("/")
if _POET_ADDON_SUPPORT:
settings.setdefault("ADDONS", {})["scrapy_poet.Addon"] = 300
start_url = mockserver.urljoin("/a")
follow_up_url = mockserver.urljoin("/b")

Expand Down
5 changes: 3 additions & 2 deletions tests/test_sessions.py
Original file line number Diff line number Diff line change
Expand Up @@ -1260,10 +1260,11 @@ async def test_addon(manual_settings, addon_settings):
"ZYTE_API_TRANSPARENT_MODE": True,
"ZYTE_API_SESSION_ENABLED": True,
**manual_settings,
}
},
poet=False,
)
addon_crawler = await get_crawler(
{"ZYTE_API_SESSION_ENABLED": True, **addon_settings}, use_addon=True
{"ZYTE_API_SESSION_ENABLED": True, **addon_settings}, use_addon=True, poet=False
)
assert serialize_settings(crawler.settings) == serialize_settings(
addon_crawler.settings
Expand Down

0 comments on commit c52c552

Please sign in to comment.