def test_homekit_entity_filter(self): """Test the entity filter.""" entity_filter = generate_filter(['cover'], ['demo.test'], [], []) homekit = HomeKit(self.hass, None, entity_filter, {}) with patch(PATH_HOMEKIT + '.get_accessory') as mock_get_acc: mock_get_acc.return_value = None homekit.add_bridge_accessory(State('cover.test', 'open')) self.assertTrue(mock_get_acc.called) mock_get_acc.reset_mock() homekit.add_bridge_accessory(State('demo.test', 'on')) self.assertTrue(mock_get_acc.called) mock_get_acc.reset_mock() homekit.add_bridge_accessory(State('light.demo', 'light')) self.assertFalse(mock_get_acc.called)
async def test_homekit_add_accessory(): """Add accessory if config exists and get_acc returns an accessory.""" homekit = HomeKit('hass', None, None, lambda entity_id: True, {}) homekit.bridge = mock_bridge = Mock() with patch(PATH_HOMEKIT + '.get_accessory') as mock_get_acc: mock_get_acc.side_effect = [None, 'acc', None] homekit.add_bridge_accessory(State('light.demo', 'on')) mock_get_acc.assert_called_with('hass', ANY, 363398124, {}) assert not mock_bridge.add_accessory.called homekit.add_bridge_accessory(State('demo.test', 'on')) mock_get_acc.assert_called_with('hass', ANY, 294192020, {}) assert mock_bridge.add_accessory.called homekit.add_bridge_accessory(State('demo.test_2', 'on')) mock_get_acc.assert_called_with('hass', ANY, 429982757, {}) mock_bridge.add_accessory.assert_called_with('acc')
async def test_homekit_add_accessory(): """Add accessory if config exists and get_acc returns an accessory.""" homekit = HomeKit('hass', None, None, lambda entity_id: True, {}) homekit.driver = 'driver' homekit.bridge = mock_bridge = Mock() with patch(PATH_HOMEKIT + '.get_accessory') as mock_get_acc: mock_get_acc.side_effect = [None, 'acc', None] homekit.add_bridge_accessory(State('light.demo', 'on')) mock_get_acc.assert_called_with('hass', 'driver', ANY, 363398124, {}) assert not mock_bridge.add_accessory.called homekit.add_bridge_accessory(State('demo.test', 'on')) mock_get_acc.assert_called_with('hass', 'driver', ANY, 294192020, {}) assert mock_bridge.add_accessory.called homekit.add_bridge_accessory(State('demo.test_2', 'on')) mock_get_acc.assert_called_with('hass', 'driver', ANY, 429982757, {}) mock_bridge.add_accessory.assert_called_with('acc')
def test_homekit_add_accessory(self): """Add accessory if config exists and get_acc returns an accessory.""" homekit = HomeKit(self.hass, None, None, lambda entity_id: True, {}) homekit.bridge = HomeBridge(self.hass) with patch(PATH_HOMEKIT + '.accessories.HomeBridge.add_accessory') \ as mock_add_acc, \ patch(PATH_HOMEKIT + '.get_accessory') as mock_get_acc: mock_get_acc.side_effect = [None, 'acc', None] homekit.add_bridge_accessory(State('light.demo', 'on')) self.assertEqual(mock_get_acc.call_args, call(self.hass, ANY, 363398124, {})) self.assertFalse(mock_add_acc.called) homekit.add_bridge_accessory(State('demo.test', 'on')) self.assertEqual(mock_get_acc.call_args, call(self.hass, ANY, 294192020, {})) self.assertTrue(mock_add_acc.called) homekit.add_bridge_accessory(State('demo.test_2', 'on')) self.assertEqual(mock_get_acc.call_args, call(self.hass, ANY, 429982757, {})) self.assertEqual(mock_add_acc.mock_calls, [call('acc')])
def test_homekit_add_accessory(self): """Add accessory if config exists and get_acc returns an accessory.""" homekit = HomeKit(self.hass, None, lambda entity_id: True, {}) homekit.bridge = HomeBridge(self.hass) with patch(PATH_HOMEKIT + '.accessories.HomeBridge.add_accessory') \ as mock_add_acc, \ patch(PATH_HOMEKIT + '.get_accessory') as mock_get_acc: mock_get_acc.side_effect = [None, 'acc', None] homekit.add_bridge_accessory(State('light.demo', 'on')) self.assertEqual(mock_get_acc.call_args, call(self.hass, ANY, 363398124, {})) self.assertFalse(mock_add_acc.called) homekit.add_bridge_accessory(State('demo.test', 'on')) self.assertEqual(mock_get_acc.call_args, call(self.hass, ANY, 294192020, {})) self.assertTrue(mock_add_acc.called) homekit.add_bridge_accessory(State('demo.test_2', 'on')) self.assertEqual(mock_get_acc.call_args, call(self.hass, ANY, 429982757, {})) self.assertEqual(mock_add_acc.mock_calls, [call('acc')])
async def test_homekit_add_accessory(): """Add accessory if config exists and get_acc returns an accessory.""" homekit = HomeKit("hass", None, None, None, lambda entity_id: True, {}, None) homekit.driver = "driver" homekit.bridge = mock_bridge = Mock() with patch(PATH_HOMEKIT + ".get_accessory") as mock_get_acc: mock_get_acc.side_effect = [None, "acc", None] homekit.add_bridge_accessory(State("light.demo", "on")) mock_get_acc.assert_called_with("hass", "driver", ANY, 363398124, {}) assert not mock_bridge.add_accessory.called homekit.add_bridge_accessory(State("demo.test", "on")) mock_get_acc.assert_called_with("hass", "driver", ANY, 294192020, {}) assert mock_bridge.add_accessory.called homekit.add_bridge_accessory(State("demo.test_2", "on")) mock_get_acc.assert_called_with("hass", "driver", ANY, 429982757, {}) mock_bridge.add_accessory.assert_called_with("acc")
async def test_homekit_entity_filter(hass): """Test the entity filter.""" assert await setup.async_setup_component(hass, DOMAIN, {DOMAIN: {}}) entity_filter = generate_filter(["cover"], ["demo.test"], [], []) homekit = HomeKit(hass, None, None, None, entity_filter, {}, None, None) homekit.bridge = Mock() homekit.bridge.accessories = {} with patch(f"{PATH_HOMEKIT}.get_accessory") as mock_get_acc: mock_get_acc.return_value = None homekit.add_bridge_accessory(State("cover.test", "open")) assert mock_get_acc.called is True mock_get_acc.reset_mock() homekit.add_bridge_accessory(State("demo.test", "on")) assert mock_get_acc.called is True mock_get_acc.reset_mock() homekit.add_bridge_accessory(State("light.demo", "light")) assert mock_get_acc.called is False
async def test_homekit_add_accessory(hass): """Add accessory if config exists and get_acc returns an accessory.""" homekit = HomeKit(hass, None, None, None, lambda entity_id: True, {}, None, None) homekit.driver = "driver" homekit.bridge = mock_bridge = Mock() homekit.bridge.accessories = range(10) assert await setup.async_setup_component(hass, DOMAIN, {DOMAIN: {}}) with patch(f"{PATH_HOMEKIT}.get_accessory") as mock_get_acc: mock_get_acc.side_effect = [None, "acc", None] homekit.add_bridge_accessory(State("light.demo", "on")) mock_get_acc.assert_called_with(hass, "driver", ANY, 363398124, {}) assert not mock_bridge.add_accessory.called homekit.add_bridge_accessory(State("demo.test", "on")) mock_get_acc.assert_called_with(hass, "driver", ANY, 294192020, {}) assert mock_bridge.add_accessory.called homekit.add_bridge_accessory(State("demo.test_2", "on")) mock_get_acc.assert_called_with(hass, "driver", ANY, 429982757, {}) mock_bridge.add_accessory.assert_called_with("acc")
async def test_homekit_add_accessory(hass, mock_zeroconf): """Add accessory if config exists and get_acc returns an accessory.""" entry = await async_init_integration(hass) homekit = HomeKit( hass, None, None, None, lambda entity_id: True, {}, HOMEKIT_MODE_BRIDGE, advertise_ip=None, entry_id=entry.entry_id, ) homekit.driver = "driver" homekit.bridge = mock_bridge = Mock() homekit.bridge.accessories = range(10) mock_acc = Mock(category="any") await async_init_integration(hass) with patch(f"{PATH_HOMEKIT}.get_accessory") as mock_get_acc: mock_get_acc.side_effect = [None, mock_acc, None] homekit.add_bridge_accessory(State("light.demo", "on")) mock_get_acc.assert_called_with(hass, "driver", ANY, 1403373688, {}) assert not mock_bridge.add_accessory.called homekit.add_bridge_accessory(State("demo.test", "on")) mock_get_acc.assert_called_with(hass, "driver", ANY, 600325356, {}) assert mock_bridge.add_accessory.called homekit.add_bridge_accessory(State("demo.test_2", "on")) mock_get_acc.assert_called_with(hass, "driver", ANY, 1467253281, {}) mock_bridge.add_accessory.assert_called_with(mock_acc)