39 lines
1.3 KiB
Python
39 lines
1.3 KiB
Python
|
"""The test for sensor helpers."""
|
||
|
from homeassistant.components.sensor import SensorDeviceClass
|
||
|
from homeassistant.components.sensor.helpers import async_parse_date_datetime
|
||
|
|
||
|
|
||
|
def test_async_parse_datetime(caplog):
|
||
|
"""Test async_parse_date_datetime."""
|
||
|
entity_id = "sensor.timestamp"
|
||
|
device_class = SensorDeviceClass.TIMESTAMP
|
||
|
assert (
|
||
|
async_parse_date_datetime(
|
||
|
"2021-12-12 12:12Z", entity_id, device_class
|
||
|
).isoformat()
|
||
|
== "2021-12-12T12:12:00+00:00"
|
||
|
)
|
||
|
assert not caplog.text
|
||
|
|
||
|
# No timezone
|
||
|
assert (
|
||
|
async_parse_date_datetime("2021-12-12 12:12", entity_id, device_class) is None
|
||
|
)
|
||
|
assert "sensor.timestamp rendered timestamp without timezone" in caplog.text
|
||
|
|
||
|
# Invalid timestamp
|
||
|
assert async_parse_date_datetime("12 past 12", entity_id, device_class) is None
|
||
|
assert "sensor.timestamp rendered invalid timestamp: 12 past 12" in caplog.text
|
||
|
|
||
|
device_class = SensorDeviceClass.DATE
|
||
|
caplog.clear()
|
||
|
assert (
|
||
|
async_parse_date_datetime("2021-12-12", entity_id, device_class).isoformat()
|
||
|
== "2021-12-12"
|
||
|
)
|
||
|
assert not caplog.text
|
||
|
|
||
|
# Invalid date
|
||
|
assert async_parse_date_datetime("December 12th", entity_id, device_class) is None
|
||
|
assert "sensor.timestamp rendered invalid date December 12th" in caplog.text
|