123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176 |
- import sys
- import pytest
- HOST_IS_WINDOWS = sys.platform.startswith('win')
- def test_import_version_str():
- """ Test that dateutil.__version__ can be imported"""
- from dateutil import __version__
- def test_import_version_root():
- import dateutil
- assert hasattr(dateutil, '__version__')
- # Test that dateutil.easter-related imports work properly
- def test_import_easter_direct():
- import dateutil.easter
- def test_import_easter_from():
- from dateutil import easter
- def test_import_easter_start():
- from dateutil.easter import easter
- # Test that dateutil.parser-related imports work properly
- def test_import_parser_direct():
- import dateutil.parser
- def test_import_parser_from():
- from dateutil import parser
- def test_import_parser_all():
- # All interface
- from dateutil.parser import parse
- from dateutil.parser import parserinfo
- # Other public classes
- from dateutil.parser import parser
- for var in (parse, parserinfo, parser):
- assert var is not None
- # Test that dateutil.relativedelta-related imports work properly
- def test_import_relative_delta_direct():
- import dateutil.relativedelta
- def test_import_relative_delta_from():
- from dateutil import relativedelta
- def test_import_relative_delta_all():
- from dateutil.relativedelta import relativedelta
- from dateutil.relativedelta import MO, TU, WE, TH, FR, SA, SU
- for var in (relativedelta, MO, TU, WE, TH, FR, SA, SU):
- assert var is not None
- # In the public interface but not in all
- from dateutil.relativedelta import weekday
- assert weekday is not None
- # Test that dateutil.rrule related imports work properly
- def test_import_rrule_direct():
- import dateutil.rrule
- def test_import_rrule_from():
- from dateutil import rrule
- def test_import_rrule_all():
- from dateutil.rrule import rrule
- from dateutil.rrule import rruleset
- from dateutil.rrule import rrulestr
- from dateutil.rrule import YEARLY, MONTHLY, WEEKLY, DAILY
- from dateutil.rrule import HOURLY, MINUTELY, SECONDLY
- from dateutil.rrule import MO, TU, WE, TH, FR, SA, SU
- rr_all = (rrule, rruleset, rrulestr,
- YEARLY, MONTHLY, WEEKLY, DAILY,
- HOURLY, MINUTELY, SECONDLY,
- MO, TU, WE, TH, FR, SA, SU)
- for var in rr_all:
- assert var is not None
- # In the public interface but not in all
- from dateutil.rrule import weekday
- assert weekday is not None
- # Test that dateutil.tz related imports work properly
- def test_import_tztest_direct():
- import dateutil.tz
- def test_import_tz_from():
- from dateutil import tz
- def test_import_tz_all():
- from dateutil.tz import tzutc
- from dateutil.tz import tzoffset
- from dateutil.tz import tzlocal
- from dateutil.tz import tzfile
- from dateutil.tz import tzrange
- from dateutil.tz import tzstr
- from dateutil.tz import tzical
- from dateutil.tz import gettz
- from dateutil.tz import tzwin
- from dateutil.tz import tzwinlocal
- from dateutil.tz import UTC
- from dateutil.tz import datetime_ambiguous
- from dateutil.tz import datetime_exists
- from dateutil.tz import resolve_imaginary
- tz_all = ["tzutc", "tzoffset", "tzlocal", "tzfile", "tzrange",
- "tzstr", "tzical", "gettz", "datetime_ambiguous",
- "datetime_exists", "resolve_imaginary", "UTC"]
- tz_all += ["tzwin", "tzwinlocal"] if sys.platform.startswith("win") else []
- lvars = locals()
- for var in tz_all:
- assert lvars[var] is not None
- # Test that dateutil.tzwin related imports work properly
- @pytest.mark.skipif(not HOST_IS_WINDOWS, reason="Requires Windows")
- def test_import_tz_windows_direct():
- import dateutil.tzwin
- @pytest.mark.skipif(not HOST_IS_WINDOWS, reason="Requires Windows")
- def test_import_tz_windows_from():
- from dateutil import tzwin
- @pytest.mark.skipif(not HOST_IS_WINDOWS, reason="Requires Windows")
- def test_import_tz_windows_star():
- from dateutil.tzwin import tzwin
- from dateutil.tzwin import tzwinlocal
- tzwin_all = [tzwin, tzwinlocal]
- for var in tzwin_all:
- assert var is not None
- # Test imports of Zone Info
- def test_import_zone_info_direct():
- import dateutil.zoneinfo
- def test_import_zone_info_from():
- from dateutil import zoneinfo
- def test_import_zone_info_star():
- from dateutil.zoneinfo import gettz
- from dateutil.zoneinfo import gettz_db_metadata
- from dateutil.zoneinfo import rebuild
- zi_all = (gettz, gettz_db_metadata, rebuild)
- for var in zi_all:
- assert var is not None
|