Source code for encommon.times.test.test_utils
"""
Functions and routines associated with Enasis Network Common Library.
This file is part of Enasis Network software eco-system. Distribution
is permitted, for more information consult the project license file.
"""
from dateutil.tz import gettz
from pytest import raises
from ..common import STAMP_SIMPLE
from ..common import UNIXEPOCH
from ..utils import findtz
from ..utils import strptime
from ..utils import utcdatetime
[docs]
def test_utcdatetime() -> None:
"""
Perform various tests associated with relevant routines.
"""
dtime = utcdatetime(1970, 1, 1)
assert dtime.year == 1970
assert dtime.month == 1
assert dtime.day == 1
assert dtime.hour == 0
assert dtime.minute == 0
assert dtime.second == 0
dtime = utcdatetime(
1970, 1, 1,
tzinfo=gettz('US/Central'))
assert dtime.year == 1970
assert dtime.month == 1
assert dtime.day == 1
assert dtime.hour == 6
assert dtime.minute == 0
assert dtime.second == 0
[docs]
def test_strptime() -> None:
"""
Perform various tests associated with relevant routines.
"""
parsed = strptime(
UNIXEPOCH, STAMP_SIMPLE)
assert parsed.year == 1970
assert parsed.month == 1
assert parsed.day == 1
assert parsed.hour == 0
assert parsed.minute == 0
assert parsed.second == 0
[docs]
def test_strptime_raises() -> None:
"""
Perform various tests associated with relevant routines.
"""
_raises = raises(ValueError)
with _raises as reason:
strptime('foo', '%Y')
_reason = str(reason.value)
assert _reason == 'invalid'
[docs]
def test_findtz() -> None:
"""
Perform various tests associated with relevant routines.
"""
tzinfo = findtz('UTC')
assert 'UTC' in str(tzinfo)
[docs]
def test_findtz_raises() -> None:
"""
Perform various tests associated with relevant routines.
"""
_raises = raises(ValueError)
with _raises as reason:
findtz('foo')
_reason = str(reason.value)
assert _reason == 'tzname'