lock.py 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  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_state(self):
  9. self.dps[self.basicLockDps] = True
  10. self.assertEqual(self.basicLock.state, STATE_LOCKED)
  11. self.dps[self.basicLockDps] = False
  12. self.assertEqual(self.basicLock.state, STATE_UNLOCKED)
  13. def test_basic_lock_is_locked(self):
  14. self.dps[self.basicLockDps] = True
  15. self.assertTrue(self.basicLock.is_locked)
  16. self.dps[self.basicLockDps] = False
  17. self.assertFalse(self.basicLock.is_locked)
  18. self.dps[self.basicLockDps] = None
  19. self.assertFalse(self.basicLock.is_locked)
  20. async def test_basic_lock_locks(self):
  21. async with assert_device_properties_set(
  22. self.basicLock._device,
  23. {self.basicLockDps: True},
  24. ):
  25. await self.basicLock.async_lock()
  26. async def test_basic_lock_unlocks(self):
  27. async with assert_device_properties_set(
  28. self.basicLock._device,
  29. {self.basicLockDps: False},
  30. ):
  31. await self.basicLock.async_unlock()
  32. def test_basic_lock_state_attributes(self):
  33. self.assertEqual(self.basicLock.extra_state_attributes, {})