Beispiel #1
0
 def test_play_last_video(self, mock):
     """Test ArloCamera.play_last_video."""
     arlo = self.load_arlo(mock)
     camera = arlo.cameras[0]
     last_video_url = camera.last_video.video_url
     response_body = open_fixture("last_image.jpg", binary=True)
     mock.get(last_video_url, body=response_body)
     video = camera.play_last_video()
     self.assertTrue(video)
Beispiel #2
0
    def test_camera_properties(self, mock):
        """Test ArloCamera properties."""
        arlo = self.load_arlo(mock)
        cameras = arlo.cameras
        basestation = arlo.base_stations[0]
        basestation.update()
        self.assertEqual(len(cameras), 2)
        for camera in cameras:

            camera.update()

            self.assertTrue(camera.__repr__().startswith("<ArloCamera:"))
            self.assertIsNone(arlo.refresh_attributes(camera))
            self.assertIsInstance(camera, ArloCamera)
            self.assertTrue(camera.device_type, "camera")
            self.assertTrue(camera.user_id, USERID)
            self.assertEqual(camera.hw_version, "H7")
            self.assertEqual(camera.timezone, "America/New_York")
            self.assertEqual(camera.user_role, "ADMIN")
            self.assertTrue(len(camera.captured_today), 1)
            self.assertIsNotNone(camera.properties)
            self.assertEqual(camera.base_station, basestation)

            if camera.name == "Front Door":
                self.assertTrue(camera.device_id, "48B14CAAAAAAA")
                self.assertEqual(camera.unique_id, "235-48B14CAAAAAAA")
                self.assertEqual(camera.unseen_videos, 39)
                self.assertEqual(camera.parent_id, "48B14CBBBBBBB")
                self.assertEqual(camera.xcloud_id, "1005-123-999999")
                self.assertEqual(camera.serial_number, camera.device_id)

                self.assertEqual(camera.battery_level, 77)
                self.assertEqual(camera.signal_strength, 3)
                self.assertEqual(camera.brightness, 0)
                self.assertEqual(camera.mirror_state, 0)
                self.assertEqual(camera.flip_state, 0)
                self.assertEqual(camera.powersave_mode, 2)
                self.assertTrue(camera.is_camera_connected)
                self.assertEqual(camera.motion_detection_sensitivity, 80)

                image_url = camera._attrs.get("presignedLastImageUrl")

                response_body = open_fixture("last_image.jpg", binary=True)
                mock.get(image_url, body=response_body)
                self.assertEqual(
                    camera.last_image,
                    load_fixture("last_image.jpg", binary=True)
                )

                videos = load_fixture_json("pyarlo_videos.json")
                last_video_url = videos["data"][-1]["presignedContentUrl"]
                self.assertEqual(camera.last_video.video_url, last_video_url)

            if camera.name == "Patio":
                self.assertTrue(camera.model_id, "VMC3030")
                self.assertEqual(camera.unique_id, "999-123456_48B14C1299999")
                self.assertEqual(camera.unseen_videos, 233)