Files
notifications-admin/tests/notifications_utils/test_timezones.py
T

37 lines
981 B
Python
Raw Normal View History

2024-05-16 10:37:37 -04:00
import dateutil
import pytest
from notifications_utils.timezones import utc_string_to_aware_gmt_datetime
@pytest.mark.parametrize(
2024-05-17 08:52:23 -07:00
("input_value", "expectation"),
2024-05-16 10:37:37 -04:00
[
("foo", pytest.raises(dateutil.parser._parser.ParserError)),
(100, pytest.raises(TypeError)),
(True, pytest.raises(TypeError)),
(False, pytest.raises(TypeError)),
(None, pytest.raises(TypeError)),
],
)
def test_utc_string_to_aware_gmt_datetime_rejects_bad_input(input_value, expectation):
with expectation:
utc_string_to_aware_gmt_datetime(input_value)
@pytest.mark.parametrize(
2024-05-17 08:52:23 -07:00
("naive_time", "expected_aware_hour"),
2024-05-16 10:37:37 -04:00
[
("2000-12-1 20:01", "15:01"),
("2000-06-1 20:01", "16:01"),
],
)
def test_utc_string_to_aware_gmt_datetime_handles_summer_and_winter(
naive_time,
expected_aware_hour,
):
assert (
utc_string_to_aware_gmt_datetime(naive_time).strftime("%H:%M")
== expected_aware_hour
)