Improve coverage of input_datetime/reproduce_state (#28272)

* Improve coverage of input_datetime/reproduce_state

* Improve tests
This commit is contained in:
Santobert 2019-11-16 13:27:54 +01:00 committed by Paulus Schoutsen
parent fbe3d8dade
commit 0996b717ce
2 changed files with 12 additions and 9 deletions

View File

@ -31,18 +31,12 @@ def is_valid_datetime(string: str) -> bool:
def is_valid_date(string: str) -> bool:
"""Test if string dt is a valid date."""
try:
return dt_util.parse_date(string) is not None
except ValueError:
return False
return dt_util.parse_date(string) is not None
def is_valid_time(string: str) -> bool:
"""Test if string dt is a valid time."""
try:
return dt_util.parse_time(string) is not None
except ValueError:
return False
return dt_util.parse_time(string) is not None
async def _async_reproduce_state(

View File

@ -36,10 +36,19 @@ async def test_reproducing_states(hass, caplog):
# Test invalid state is handled
await hass.helpers.state.async_reproduce_state(
[State("input_datetime.entity_datetime", "not_supported")], blocking=True
[
State("input_datetime.entity_datetime", "not_supported"),
State("input_datetime.entity_datetime", "not-valid-date"),
State("input_datetime.entity_datetime", "not:valid:time"),
State("input_datetime.entity_datetime", "1234-56-78 90:12:34"),
],
blocking=True,
)
assert "not_supported" in caplog.text
assert "not-valid-date" in caplog.text
assert "not:valid:time" in caplog.text
assert "1234-56-78 90:12:34" in caplog.text
assert len(datetime_calls) == 0
# Make sure correct services are called