Files
ansible/test/units/module_utils/compat/test_datetime.py
🇺🇦 Sviatoslav Sydorenko (Святослав Сидоренко) df08ed3ef3 🔥 Remove Python 2 datetime compat fallbacks
This patch marks the `ansible.module_utils.compat.datetime` module as deprecated, including `UTC`, `utcfromtimestamp()`  and `utcnow` shims that it provides, scheduling its removal for v2.21.

It also replaces any uses of the compatibility helpers with non-deprecated calls to CPython stdlib.

PR #81874

Co-authored-by: Matt Clay <matt@mystile.com>
2025-03-11 17:19:40 +01:00

35 lines
804 B
Python

from __future__ import annotations
import datetime
import pytest
from ansible.module_utils.compat import datetime as compat_datetime
pytestmark = pytest.mark.usefixtures('capfd') # capture deprecation warnings
def test_utc():
assert compat_datetime.UTC.tzname(None) == 'UTC'
assert compat_datetime.UTC.utcoffset(None) == datetime.timedelta(0)
assert compat_datetime.UTC.dst(None) is None
def test_utcnow():
assert compat_datetime.utcnow().tzinfo is compat_datetime.UTC
def test_utcfometimestamp_zero():
dt = compat_datetime.utcfromtimestamp(0)
assert dt.tzinfo is compat_datetime.UTC
assert dt.year == 1970
assert dt.month == 1
assert dt.day == 1
assert dt.hour == 0
assert dt.minute == 0
assert dt.second == 0
assert dt.microsecond == 0