def test_binary_sensor(self, mock): """Test the Ring sensor class and methods.""" mock.post('https://oauth.ring.com/oauth/token', text=load_fixture('ring_oauth.json')) mock.post('https://api.ring.com/clients_api/session', text=load_fixture('ring_session.json')) mock.get('https://api.ring.com/clients_api/ring_devices', text=load_fixture('ring_devices.json')) mock.get('https://api.ring.com/clients_api/dings/active', text=load_fixture('ring_ding_active.json')) mock.get('https://api.ring.com/clients_api/doorbots/987652/health', text=load_fixture('ring_doorboot_health_attrs.json')) base_ring.setup(self.hass, VALID_CONFIG) ring.setup_platform(self.hass, self.config, self.add_devices, None) for device in self.DEVICES: device.update() if device.name == 'Front Door Ding': self.assertEqual('on', device.state) self.assertEqual('America/New_York', device.device_state_attributes['timezone']) elif device.name == 'Front Door Motion': self.assertEqual('off', device.state) self.assertEqual('motion', device.device_class) self.assertIsNone(device.entity_picture) self.assertEqual(ATTRIBUTION, device.device_state_attributes['attribution'])
def test_sensor(self, mock): """Test the Ring sensor class and methods.""" mock.post('https://oauth.ring.com/oauth/token', text=load_fixture('ring_oauth.json')) mock.post('https://api.ring.com/clients_api/session', text=load_fixture('ring_session.json')) mock.get('https://api.ring.com/clients_api/ring_devices', text=load_fixture('ring_devices.json')) mock.get('https://api.ring.com/clients_api/doorbots/987652/history', text=load_fixture('ring_doorbots.json')) mock.get('https://api.ring.com/clients_api/doorbots/987652/health', text=load_fixture('ring_doorboot_health_attrs.json')) mock.get('https://api.ring.com/clients_api/chimes/999999/health', text=load_fixture('ring_chime_health_attrs.json')) base_ring.setup(self.hass, VALID_CONFIG) ring.setup_platform(self.hass, self.config, self.add_entities, None) for device in self.DEVICES: device.update() if device.name == 'Front Battery': assert 80 == device.state assert 'hp_cam_v1' == \ device.device_state_attributes['kind'] assert 'stickup_cams' == \ device.device_state_attributes['type'] if device.name == 'Front Door Battery': assert 100 == device.state assert 'lpd_v1' == \ device.device_state_attributes['kind'] assert 'chimes' != \ device.device_state_attributes['type'] if device.name == 'Downstairs Volume': assert 2 == device.state assert '1.2.3' == \ device.device_state_attributes['firmware'] assert 'ring_mock_wifi' == \ device.device_state_attributes['wifi_name'] assert 'mdi:bell-ring' == device.icon assert 'chimes' == \ device.device_state_attributes['type'] if device.name == 'Front Door Last Activity': assert not device.device_state_attributes['answered'] assert 'America/New_York' == \ device.device_state_attributes['timezone'] if device.name == 'Downstairs WiFi Signal Strength': assert -39 == device.state if device.name == 'Front Door WiFi Signal Category': assert 'good' == device.state if device.name == 'Front Door WiFi Signal Strength': assert -58 == device.state assert device.entity_picture is None assert ATTRIBUTION == \ device.device_state_attributes['attribution']
def test_sensor(self, mock): """Test the Ring sensor class and methods.""" mock.post('https://oauth.ring.com/oauth/token', text=load_fixture('ring_oauth.json')) mock.post('https://api.ring.com/clients_api/session', text=load_fixture('ring_session.json')) mock.get('https://api.ring.com/clients_api/ring_devices', text=load_fixture('ring_devices.json')) mock.get('https://api.ring.com/clients_api/doorbots/987652/history', text=load_fixture('ring_doorbots.json')) mock.get('https://api.ring.com/clients_api/doorbots/987652/health', text=load_fixture('ring_doorboot_health_attrs.json')) mock.get('https://api.ring.com/clients_api/chimes/999999/health', text=load_fixture('ring_chime_health_attrs.json')) base_ring.setup(self.hass, VALID_CONFIG) ring.setup_platform(self.hass, self.config, self.add_entities, None) for device in self.DEVICES: device.update() if device.name == 'Front Battery': self.assertEqual(80, device.state) self.assertEqual('hp_cam_v1', device.device_state_attributes['kind']) self.assertEqual('stickup_cams', device.device_state_attributes['type']) if device.name == 'Front Door Battery': self.assertEqual(100, device.state) self.assertEqual('lpd_v1', device.device_state_attributes['kind']) self.assertNotEqual('chimes', device.device_state_attributes['type']) if device.name == 'Downstairs Volume': self.assertEqual(2, device.state) self.assertEqual('1.2.3', device.device_state_attributes['firmware']) self.assertEqual('ring_mock_wifi', device.device_state_attributes['wifi_name']) self.assertEqual('mdi:bell-ring', device.icon) self.assertEqual('chimes', device.device_state_attributes['type']) if device.name == 'Front Door Last Activity': self.assertFalse(device.device_state_attributes['answered']) self.assertEqual('America/New_York', device.device_state_attributes['timezone']) if device.name == 'Downstairs WiFi Signal Strength': self.assertEqual(-39, device.state) if device.name == 'Front Door WiFi Signal Category': self.assertEqual('good', device.state) if device.name == 'Front Door WiFi Signal Strength': self.assertEqual(-58, device.state) self.assertIsNone(device.entity_picture) self.assertEqual(ATTRIBUTION, device.device_state_attributes['attribution'])
def test_binary_sensor(self, mock): """Test the Ring sensor class and methods.""" mock.post('https://api.ring.com/clients_api/session', text=load_fixture('ring_session.json')) mock.get('https://api.ring.com/clients_api/ring_devices', text=load_fixture('ring_devices.json')) mock.get('https://api.ring.com/clients_api/dings/active', text=load_fixture('ring_ding_active.json')) base_ring.setup(self.hass, VALID_CONFIG) ring.setup_platform(self.hass, self.config, self.add_devices, None) for device in self.DEVICES: device.update() if device.name == 'Front Door Ding': self.assertEqual('on', device.state) self.assertEqual('America/New_York', device.device_state_attributes['timezone']) elif device.name == 'Front Door Motion': self.assertEqual('off', device.state) self.assertEqual('motion', device.device_class) self.assertIsNone(device.entity_picture) self.assertEqual(ATTRIBUTION, device.device_state_attributes['attribution'])
def test_sensor(self, mock): """Test the Ring senskor class and methods.""" mock.post('https://api.ring.com/clients_api/session', text=load_fixture('ring_session.json')) mock.get('https://api.ring.com/clients_api/ring_devices', text=load_fixture('ring_devices.json')) mock.get('https://api.ring.com/clients_api/doorbots/987652/history', text=load_fixture('ring_doorbots.json')) base_ring.setup(self.hass, VALID_CONFIG) ring.setup_platform(self.hass, self.config, self.add_devices, None) for device in self.DEVICES: device.update() if device.name == 'Front Door Battery': self.assertEqual(100, device.state) self.assertEqual('lpd_v1', device.device_state_attributes['kind']) self.assertNotEqual('chimes', device.device_state_attributes['type']) if device.name == 'Downstairs Volume': self.assertEqual(2, device.state) self.assertEqual('1.2.3', device.device_state_attributes['firmware']) self.assertEqual('mdi:bell-ring', device.icon) self.assertEqual('chimes', device.device_state_attributes['type']) if device.name == 'Front Door Last Activity': self.assertFalse(device.device_state_attributes['answered']) self.assertEqual('America/New_York', device.device_state_attributes['timezone']) self.assertIsNone(device.entity_picture) self.assertEqual(ATTRIBUTION, device.device_state_attributes['attribution'])
def test_binary_sensor(self, mock): """Test the Ring sensor class and methods.""" mock.post('https://oauth.ring.com/oauth/token', text=load_fixture('ring_oauth.json')) mock.post('https://api.ring.com/clients_api/session', text=load_fixture('ring_session.json')) mock.get('https://api.ring.com/clients_api/ring_devices', text=load_fixture('ring_devices.json')) mock.get('https://api.ring.com/clients_api/dings/active', text=load_fixture('ring_ding_active.json')) mock.get('https://api.ring.com/clients_api/doorbots/987652/health', text=load_fixture('ring_doorboot_health_attrs.json')) base_ring.setup(self.hass, VALID_CONFIG) ring.setup_platform(self.hass, self.config, self.add_entities, None) for device in self.DEVICES: device.update() if device.name == 'Front Door Ding': assert 'on' == device.state assert 'America/New_York' == \ device.device_state_attributes['timezone'] elif device.name == 'Front Door Motion': assert 'off' == device.state assert 'motion' == device.device_class assert device.entity_picture is None assert ATTRIBUTION == \ device.device_state_attributes['attribution']
def test_setup(self, mock): """Test the setup.""" mock.post('https://oauth.ring.com/oauth/token', text=load_fixture('ring_oauth.json')) mock.post('https://api.ring.com/clients_api/session', text=load_fixture('ring_session.json')) response = ring.setup(self.hass, self.config) self.assertTrue(response)
def test_setup(self, mock): """Test the setup.""" mock.post('https://oauth.ring.com/oauth/token', text=load_fixture('ring_oauth.json')) mock.post('https://api.ring.com/clients_api/session', text=load_fixture('ring_session.json')) response = ring.setup(self.hass, self.config) self.assertTrue(response)
def test_binary_sensor(self, mock): """Test the Ring sensor class and methods.""" mock.post("https://oauth.ring.com/oauth/token", text=load_fixture("ring_oauth.json")) mock.post( "https://api.ring.com/clients_api/session", text=load_fixture("ring_session.json"), ) mock.get( "https://api.ring.com/clients_api/ring_devices", text=load_fixture("ring_devices.json"), ) mock.get( "https://api.ring.com/clients_api/dings/active", text=load_fixture("ring_ding_active.json"), ) mock.get( "https://api.ring.com/clients_api/doorbots/987652/health", text=load_fixture("ring_doorboot_health_attrs.json"), ) mock.get( "https://api.ring.com/clients_api/chimes/999999/health", text=load_fixture("ring_chime_health_attrs.json"), ) base_ring.setup(self.hass, VALID_CONFIG) ring.setup_platform(self.hass, self.config, self.add_entities, None) for device in self.DEVICES: device.update() if device.name == "Front Door Ding": assert "on" == device.state assert "America/New_York" == device.device_state_attributes[ "timezone"] elif device.name == "Front Door Motion": assert "off" == device.state assert "motion" == device.device_class assert device.entity_picture is None assert ATTRIBUTION == device.device_state_attributes["attribution"]
def test_sensor(self, mock): """Test the Ring senskor class and methods.""" mock.post('https://api.ring.com/clients_api/session', text=load_fixture('ring_session.json')) mock.get('https://api.ring.com/clients_api/ring_devices', text=load_fixture('ring_devices.json')) mock.get('https://api.ring.com/clients_api/doorbots/987652/history', text=load_fixture('ring_doorbots.json')) base_ring.setup(self.hass, VALID_CONFIG) ring.setup_platform(self.hass, self.config, self.add_devices, None) for device in self.DEVICES: device.update() if device.name == 'Front Door Battery': self.assertEqual(100, device.state) self.assertEqual('lpd_v1', device.device_state_attributes['kind']) self.assertNotEqual('chimes', device.device_state_attributes['type']) if device.name == 'Downstairs Volume': self.assertEqual(2, device.state) self.assertEqual('1.2.3', device.device_state_attributes['firmware']) self.assertEqual('mdi:bell-ring', device.icon) self.assertEqual('chimes', device.device_state_attributes['type']) if device.name == 'Front Door Last Activity': self.assertFalse(device.device_state_attributes['answered']) self.assertEqual('America/New_York', device.device_state_attributes['timezone']) self.assertIsNone(device.entity_picture) self.assertEqual(ATTRIBUTION, device.device_state_attributes['attribution'])
def test_setup(self, mock): """Test the setup.""" mock.post("https://oauth.ring.com/oauth/token", text=load_fixture("ring_oauth.json")) mock.post( "https://api.ring.com/clients_api/session", text=load_fixture("ring_session.json"), ) mock.get( "https://api.ring.com/clients_api/ring_devices", text=load_fixture("ring_devices.json"), ) mock.get( "https://api.ring.com/clients_api/chimes/999999/health", text=load_fixture("ring_chime_health_attrs.json"), ) mock.get( "https://api.ring.com/clients_api/doorbots/987652/health", text=load_fixture("ring_doorboot_health_attrs.json"), ) response = ring.setup(self.hass, self.config) assert response
def test_sensor(self, mock): """Test the Ring sensor class and methods.""" mock.post("https://oauth.ring.com/oauth/token", text=load_fixture("ring_oauth.json")) mock.post( "https://api.ring.com/clients_api/session", text=load_fixture("ring_session.json"), ) mock.get( "https://api.ring.com/clients_api/ring_devices", text=load_fixture("ring_devices.json"), ) mock.get( "https://api.ring.com/clients_api/doorbots/987652/history", text=load_fixture("ring_doorbots.json"), ) mock.get( "https://api.ring.com/clients_api/doorbots/987652/health", text=load_fixture("ring_doorboot_health_attrs.json"), ) mock.get( "https://api.ring.com/clients_api/chimes/999999/health", text=load_fixture("ring_chime_health_attrs.json"), ) base_ring.setup(self.hass, VALID_CONFIG) ring.setup_platform(self.hass, self.config, self.add_entities, None) for device in self.DEVICES: device.update() if device.name == "Front Battery": expected_icon = icon_for_battery_level(battery_level=int( device.state), charging=False) assert device.icon == expected_icon assert 80 == device.state assert "hp_cam_v1" == device.device_state_attributes["kind"] assert "stickup_cams" == device.device_state_attributes["type"] if device.name == "Front Door Battery": assert 100 == device.state assert "lpd_v1" == device.device_state_attributes["kind"] assert "chimes" != device.device_state_attributes["type"] if device.name == "Downstairs Volume": assert 2 == device.state assert "1.2.3" == device.device_state_attributes["firmware"] assert "ring_mock_wifi" == device.device_state_attributes[ "wifi_name"] assert "mdi:bell-ring" == device.icon assert "chimes" == device.device_state_attributes["type"] if device.name == "Front Door Last Activity": assert not device.device_state_attributes["answered"] assert "America/New_York" == device.device_state_attributes[ "timezone"] if device.name == "Downstairs WiFi Signal Strength": assert -39 == device.state if device.name == "Front Door WiFi Signal Category": assert "good" == device.state if device.name == "Front Door WiFi Signal Strength": assert -58 == device.state assert device.entity_picture is None assert ATTRIBUTION == device.device_state_attributes["attribution"] assert not device.should_poll