def test_get_doorbell_detail(self, mock): expected_doorbell_image_url = "https://image.com/vmk16naaaa7ibuey7sar.jpg" mock.register_uri( "get", API_GET_DOORBELL_URL.format(doorbell_id="K98GiDT45GUL"), text=load_fixture("get_doorbell.json"), ) mock.register_uri( "get", expected_doorbell_image_url, text="doorbell_image_mocked" ) api = Api() doorbell = api.get_doorbell_detail(ACCESS_TOKEN, "K98GiDT45GUL") self.assertEqual("K98GiDT45GUL", doorbell.device_id) self.assertEqual("Front Door", doorbell.device_name) self.assertEqual("3dd2accaea08", doorbell.house_id) self.assertEqual("tBXZR0Z35E", doorbell.serial_number) self.assertEqual("2.3.0-RC153+201711151527", doorbell.firmware_version) self.assertEqual("doorbell_call_status_online", doorbell.status) self.assertEqual(96, doorbell.battery_level) self.assertEqual("gen1", doorbell.model) self.assertEqual(True, doorbell.is_online) self.assertEqual(False, doorbell.is_standby) self.assertEqual( dateutil.parser.parse("2017-12-10T08:01:35Z"), doorbell.image_created_at_datetime, ) self.assertEqual(True, doorbell.has_subscription) self.assertEqual(expected_doorbell_image_url, doorbell.image_url) self.assertEqual(doorbell.get_doorbell_image(), b"doorbell_image_mocked") self.assertEqual( doorbell.get_doorbell_image(timeout=50), b"doorbell_image_mocked" )
def test_get_doorbell_offline(self, mock): mock.register_uri( "get", API_GET_DOORBELL_URL.format(doorbell_id="231ee2168dd0"), text=load_fixture("get_doorbell.offline.json"), ) api = Api() doorbell = api.get_doorbell_detail(ACCESS_TOKEN, "231ee2168dd0") self.assertEqual("231ee2168dd0", doorbell.device_id) self.assertEqual("My Door", doorbell.device_name) self.assertEqual("houseid", doorbell.house_id) self.assertEqual("abcd", doorbell.serial_number) self.assertEqual("3.1.0-HYDRC75+201909251139", doorbell.firmware_version) self.assertEqual("doorbell_offline", doorbell.status) self.assertEqual(81, doorbell.battery_level) self.assertEqual(False, doorbell.is_online) self.assertEqual(False, doorbell.is_standby) self.assertEqual( dateutil.parser.parse("2019-02-20T23:52:46Z"), doorbell.image_created_at_datetime, ) self.assertEqual(True, doorbell.has_subscription) self.assertEqual("https://res.cloudinary.com/x.jpg", doorbell.image_url) self.assertEqual("hydra1", doorbell.model)
async def test_async_get_doorbell_gen2_low_battery_detail(self, mock): mock.get( API_GET_DOORBELL_URL.format(doorbell_id="did"), body=load_fixture("get_doorbell.battery_low.json"), ) api = ApiAsync(ClientSession()) doorbell = await api.async_get_doorbell_detail(ACCESS_TOKEN, "did") self.assertEqual(10, doorbell.battery_level)
def test_get_doorbell_gen2_low_battery_detail(self, mock): mock.register_uri( "get", API_GET_DOORBELL_URL.format(doorbell_id="did"), text=load_fixture("get_doorbell.battery_low.json"), ) api = Api() doorbell = api.get_doorbell_detail(ACCESS_TOKEN, "did") self.assertEqual(10, doorbell.battery_level)
async def test_async_get_doorbell_detail_missing_image(self, mock): mock.get( API_GET_DOORBELL_URL.format(doorbell_id="K98GiDT45GUL"), body=load_fixture("get_doorbell_missing_image.json"), ) api = ApiAsync(ClientSession()) doorbell = await api.async_get_doorbell_detail(ACCESS_TOKEN, "K98GiDT45GUL") self.assertEqual("K98GiDT45GUL", doorbell.device_id) self.assertEqual("Front Door", doorbell.device_name) self.assertEqual("3dd2accaea08", doorbell.house_id) self.assertEqual("tBXZR0Z35E", doorbell.serial_number) self.assertEqual("2.3.0-RC153+201711151527", doorbell.firmware_version) self.assertEqual("doorbell_call_status_online", doorbell.status) self.assertEqual(96, doorbell.battery_level) self.assertEqual(True, doorbell.is_online) self.assertEqual(False, doorbell.is_standby) self.assertEqual(None, doorbell.image_created_at_datetime) self.assertEqual(True, doorbell.has_subscription) self.assertEqual(None, doorbell.image_url)