class TestBlink(unittest.TestCase): email = "" password = "" def setUp(self): self.b = Blink(self.email, self.password) self.b.login() ############################################################################### ## Highlighted Client APIs ############################################################################### def test_login(self): self.assertTrue(self.b.connected) def test_homescreen(self): data = self.b.homescreen() self.assertTrue(data['account'] is not None) self.assertTrue(data['network'] is not None) for device in data['devices']: if device['device_type'] is not None and device[ 'device_type'] == "camera": content, filename = self.b.download_thumbnail_home_v2(device) blink.save_to_file(content, "home_" + filename) def test_events_v2(self): events = self.b.eventsv2() self.assertEqual(type(events), list) def test_video_count(self): count = self.b.get_video_count() print("video count = " + str(count)) def test_events_v2_download(self): events = self.b.eventsv2() if len(events) == 0: return event = events[0] content = self.b.download_video_v2(event) filename = self.b.get_event_name_v2(event) blink.save_to_file(content, "event_" + filename) def test_thumbnail_event_v2_download(self): events = self.b.eventsv2() if len(events) == 0: return event = events[0] content = self.b.download_thumbnail_event_v2(event) filename = self.b.get_thumbnail_name_event(event, "event") f = open(filename, 'wb') f.write(content) f.close() print('Save downloaded image to ' + filename) ############################################################################### ## Wrapped Functions ############################################################################### def test_list_network_ids(self): ids = self.b.list_network_ids() self.assertEqual(type(ids), list) def test_list_camera_ids(self): ids = self.b.list_camera_ids() self.assertEqual(type(ids), list) def test_events_from_camera(self): ids = self.b.list_camera_ids() if len(ids) > 0: id = ids[0] events = self.b.events_from_camera(id, 1) if len(events) > 0: event = events[0] content = self.b.download_video_v2(event) filename = self.b.get_event_name_v2(event) blink.save_to_file(content, "event_camera_" + filename) def test_refresh_all_cameras_thumbnail(self): self.b.refresh_all_cameras_thumbnail() data = self.b.homescreen() for device in data['devices']: if device['device_type'] is not None and device[ 'device_type'] == "camera": content, filename = self.b.download_thumbnail_home_v2(device) filename = "test_refresh_" + filename blink.save_to_file(content, filename) print("Download latest thumbnails to " + filename) ############################################################################### ## Other Client APIs ############################################################################### def test_cameras(self): cameras = self.b.cameras(self.b.networks[0]) self.assertEqual(type(cameras), list) def test_clients(self): clients = self.b.clients() self.assertTrue(clients['clients'] is not None) print(clients) def test_sync_modules(self): sync_modules = self.b.sync_modules(self.b.networks[0]) print(sync_modules) def test_regions(self): regions = self.b.regions() print(regions) def test_get_video_info(self): events = self.b.eventsv2() if len(events) == 0: return event = events[0] eventinfo = self.b.get_video_info(event.id) print("eventinfo:" + str(eventinfo)) def test_delete_video(self): events = self.b.eventsv2(1000) if len(events) == 0: return event = events[len(events) - 1] suc = self.b.delete_video(event.id) self.assertTrue(suc)
def test_cameras(self): b = Blink() b.connect() cameras = b.cameras(b.networks[0]) self.assertEqual(type(cameras), list)