lock.py 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. # Mixins for testing locks
  2. from homeassistant.components.lock import STATE_LOCKED, STATE_UNLOCKED
  3. from ..helpers import assert_device_properties_set
  4. class BasicLockTests:
  5. def setUpBasicLock(self, dps, subject):
  6. self.basicLock = subject
  7. self.basicLockDps = dps
  8. def test_basic_lock_is_locked(self):
  9. self.dps[self.basicLockDps] = True
  10. self.assertTrue(self.basicLock.is_locked)
  11. self.dps[self.basicLockDps] = False
  12. self.assertFalse(self.basicLock.is_locked)
  13. self.dps[self.basicLockDps] = None
  14. self.assertFalse(self.basicLock.is_locked)
  15. async def test_basic_lock_locks(self):
  16. async with assert_device_properties_set(
  17. self.basicLock._device,
  18. {self.basicLockDps: True},
  19. ):
  20. await self.basicLock.async_lock()
  21. async def test_basic_lock_unlocks(self):
  22. async with assert_device_properties_set(
  23. self.basicLock._device,
  24. {self.basicLockDps: False},
  25. ):
  26. await self.basicLock.async_unlock()
  27. def test_basic_lock_state_attributes(self):
  28. self.assertEqual(self.basicLock.extra_state_attributes, {})