diff options
Diffstat (limited to 'tests/conftest.py')
-rw-r--r-- | tests/conftest.py | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/tests/conftest.py b/tests/conftest.py index 5b14b1c..0506a83 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -1,6 +1,19 @@ import os import pytest +try: + import zoneinfo +except ModuleNotFoundError: + try: + from backports import zoneinfo + except ImportError: + zoneinfo = None + +try: + import pytz +except ModuleNotFoundError: + pytz = None + @pytest.fixture def os_environ(monkeypatch): @@ -16,3 +29,19 @@ def pytest_generate_tests(metafunc): from babel.localedata import locale_identifiers metafunc.parametrize("locale", list(locale_identifiers())) break + + +@pytest.fixture(params=["pytz.timezone", "zoneinfo.ZoneInfo"], scope="package") +def timezone_getter(request): + if request.param == "pytz.timezone": + if pytz: + return pytz.timezone + else: + pytest.skip("pytz not available") + elif request.param == "zoneinfo.ZoneInfo": + if zoneinfo: + return zoneinfo.ZoneInfo + else: + pytest.skip("zoneinfo not available") + else: + raise NotImplementedError |