1- import sys
21from collections import defaultdict
2+ from typing import Annotated
33
44import pytest
55
@@ -259,13 +259,8 @@ async def test_provider_params_remove_unused_options(mockserver):
259259 )
260260
261261
262- @pytest .mark .skipif (
263- sys .version_info < (3 , 9 ), reason = "No Annotated support in Python < 3.9"
264- )
265262@ensureDeferred
266263async def test_provider_extractfrom (mockserver ):
267- from typing import Annotated
268-
269264 @attrs .define
270265 class AnnotatedProductPage (BasePage ):
271266 product : Annotated [Product , ExtractFrom .httpResponseBody ]
@@ -295,13 +290,8 @@ def parse_(self, response: DummyResponse, page: AnnotatedProductPage): # type:
295290 )
296291
297292
298- @pytest .mark .skipif (
299- sys .version_info < (3 , 9 ), reason = "No Annotated support in Python < 3.9"
300- )
301293@ensureDeferred
302294async def test_provider_extractfrom_double (mockserver , caplog ):
303- from typing import Annotated
304-
305295 @attrs .define
306296 class AnnotatedProductPage (BasePage ):
307297 product : Annotated [Product , ExtractFrom .httpResponseBody ]
@@ -322,13 +312,8 @@ def parse_(self, response: DummyResponse, page: AnnotatedProductPage): # type:
322312 assert "Multiple different extractFrom specified for product" in caplog .text
323313
324314
325- @pytest .mark .skipif (
326- sys .version_info < (3 , 9 ), reason = "No Annotated support in Python < 3.9"
327- )
328315@ensureDeferred
329316async def test_provider_extractfrom_override (mockserver ):
330- from typing import Annotated
331-
332317 @attrs .define
333318 class AnnotatedProductPage (BasePage ):
334319 product : Annotated [Product , ExtractFrom .httpResponseBody ]
@@ -359,13 +344,8 @@ def parse_(self, response: DummyResponse, page: AnnotatedProductPage): # type:
359344 )
360345
361346
362- @pytest .mark .skipif (
363- sys .version_info < (3 , 9 ), reason = "No Annotated support in Python < 3.9"
364- )
365347@ensureDeferred
366348async def test_provider_geolocation (mockserver ):
367- from typing import Annotated
368-
369349 @attrs .define
370350 class GeoProductPage (BasePage ):
371351 product : Product
@@ -385,9 +365,6 @@ def parse_(self, response: DummyResponse, page: GeoProductPage): # type: ignore
385365 assert item ["product" ].name == "Product name (country DE)"
386366
387367
388- @pytest .mark .skipif (
389- sys .version_info < (3 , 9 ), reason = "No Annotated support in Python < 3.9"
390- )
391368@ensureDeferred
392369async def test_provider_geolocation_unannotated (mockserver , caplog ):
393370 @attrs .define
@@ -414,9 +391,6 @@ def parse_(self, response: DummyResponse, page: GeoProductPage): # type: ignore
414391}
415392
416393
417- @pytest .mark .skipif (
418- sys .version_info < (3 , 9 ), reason = "No Annotated support in Python < 3.9"
419- )
420394@pytest .mark .parametrize (
421395 "annotation" ,
422396 [
@@ -428,8 +402,6 @@ def parse_(self, response: DummyResponse, page: GeoProductPage): # type: ignore
428402)
429403@ensureDeferred
430404async def test_provider_custom_attrs (mockserver , annotation ):
431- from typing import Annotated
432-
433405 @attrs .define
434406 class CustomAttrsPage (BasePage ):
435407 product : Product
@@ -468,13 +440,8 @@ def parse_(self, response: DummyResponse, page: CustomAttrsPage): # type: ignor
468440 )
469441
470442
471- @pytest .mark .skipif (
472- sys .version_info < (3 , 9 ), reason = "No Annotated support in Python < 3.9"
473- )
474443@ensureDeferred
475444async def test_provider_custom_attrs_values (mockserver ):
476- from typing import Annotated
477-
478445 @attrs .define
479446 class CustomAttrsPage (BasePage ):
480447 product : Product
@@ -1086,13 +1053,8 @@ def parse_(self, response: DummyResponse, screenshot: Screenshot):
10861053 assert item ["screenshot" ].body == b"screenshot-body-contents"
10871054
10881055
1089- @pytest .mark .skipif (
1090- sys .version_info < (3 , 9 ), reason = "No Annotated support in Python < 3.9"
1091- )
10921056@ensureDeferred
10931057async def test_provider_actions (mockserver , caplog ):
1094- from typing import Annotated
1095-
10961058 @attrs .define
10971059 class ActionProductPage (BasePage ):
10981060 product : Product
0 commit comments