2020-02-12 23:35:07 +00:00
|
|
|
"""The lock tests for the august platform."""
|
|
|
|
|
2020-02-21 05:06:24 +00:00
|
|
|
from homeassistant.components.lock import DOMAIN as LOCK_DOMAIN
|
|
|
|
from homeassistant.const import (
|
|
|
|
ATTR_ENTITY_ID,
|
|
|
|
SERVICE_UNLOCK,
|
|
|
|
STATE_LOCKED,
|
|
|
|
STATE_ON,
|
|
|
|
STATE_UNLOCKED,
|
2020-02-12 23:35:07 +00:00
|
|
|
)
|
|
|
|
|
|
|
|
from tests.components.august.mocks import (
|
2020-02-21 05:06:24 +00:00
|
|
|
_create_august_with_devices,
|
|
|
|
_mock_lock_from_fixture,
|
2020-02-12 23:35:07 +00:00
|
|
|
)
|
|
|
|
|
|
|
|
|
2020-02-21 05:06:24 +00:00
|
|
|
async def test_one_lock_unlock_happy_path(hass):
|
|
|
|
"""Test creation of a lock with doorsense and bridge."""
|
|
|
|
lock_one = await _mock_lock_from_fixture(
|
|
|
|
hass, "get_lock.online_with_doorsense.json"
|
2020-02-12 23:35:07 +00:00
|
|
|
)
|
2020-02-21 05:06:24 +00:00
|
|
|
lock_details = [lock_one]
|
|
|
|
await _create_august_with_devices(hass, lock_details=lock_details)
|
2020-02-12 23:35:07 +00:00
|
|
|
|
2020-02-21 05:06:24 +00:00
|
|
|
lock_abc_name = hass.states.get("lock.abc_name")
|
2020-02-12 23:35:07 +00:00
|
|
|
|
2020-02-21 05:06:24 +00:00
|
|
|
assert lock_abc_name.state == STATE_LOCKED
|
2020-02-12 23:35:07 +00:00
|
|
|
|
2020-02-21 05:06:24 +00:00
|
|
|
assert lock_abc_name.attributes.get("battery_level") == 92
|
|
|
|
assert lock_abc_name.attributes.get("friendly_name") == "ABC Name"
|
2020-02-12 23:35:07 +00:00
|
|
|
|
2020-02-21 05:06:24 +00:00
|
|
|
data = {}
|
|
|
|
data[ATTR_ENTITY_ID] = "lock.abc_name"
|
|
|
|
assert await hass.services.async_call(
|
|
|
|
LOCK_DOMAIN, SERVICE_UNLOCK, data, blocking=True
|
2020-02-12 23:35:07 +00:00
|
|
|
)
|
|
|
|
|
2020-02-21 05:06:24 +00:00
|
|
|
lock_abc_name = hass.states.get("lock.abc_name")
|
|
|
|
assert lock_abc_name.state == STATE_UNLOCKED
|
2020-02-12 23:35:07 +00:00
|
|
|
|
2020-02-21 05:06:24 +00:00
|
|
|
assert lock_abc_name.attributes.get("battery_level") == 92
|
|
|
|
assert lock_abc_name.attributes.get("friendly_name") == "ABC Name"
|
2020-02-18 20:11:05 +00:00
|
|
|
|
2020-02-21 05:06:24 +00:00
|
|
|
binary_sensor_abc_name = hass.states.get("binary_sensor.abc_name_open")
|
|
|
|
assert binary_sensor_abc_name.state == STATE_ON
|