def setUp(self): # pylint: disable=invalid-name """Set up things to be run when tests are started.""" self.hass = get_test_home_assistant() self.events = [] self.service1 = demo.DemoNotificationService(self.hass) self.service2 = demo.DemoNotificationService(self.hass) self.service1.send_message = MagicMock(autospec=True) self.service2.send_message = MagicMock(autospec=True) def mock_get_service(hass, config, discovery_info=None): if config["name"] == "demo1": return self.service1 return self.service2 with assert_setup_component(2, notify.DOMAIN), patch.object( demo, "get_service", mock_get_service): setup_component( self.hass, notify.DOMAIN, { "notify": [ { "name": "demo1", "platform": "demo" }, { "name": "demo2", "platform": "demo" }, ] }, ) self.service = asyncio.run_coroutine_threadsafe( group.async_get_service( self.hass, { "services": [ { "service": "demo1" }, { "service": "demo2", "data": { "target": "unnamed device", "data": { "test": "message" }, }, }, ] }, ), self.hass.loop, ).result() assert self.service is not None self.addCleanup(self.tear_down_cleanup)
def setUp(self): # pylint: disable=invalid-name """Set up things to be run when tests are started.""" self.hass = get_test_home_assistant() self.events = [] self.service1 = demo.DemoNotificationService(self.hass) self.service2 = demo.DemoNotificationService(self.hass) self.service1.send_message = MagicMock(autospec=True) self.service2.send_message = MagicMock(autospec=True) def mock_get_service(hass, config, discovery_info=None): if config['name'] == 'demo1': return self.service1 return self.service2 with assert_setup_component(2), \ patch.object(demo, 'get_service', mock_get_service): setup_component( self.hass, notify.DOMAIN, { 'notify': [{ 'name': 'demo1', 'platform': 'demo' }, { 'name': 'demo2', 'platform': 'demo' }] }) self.service = run_coroutine_threadsafe( group.async_get_service( self.hass, { 'services': [{ 'service': 'demo1' }, { 'service': 'demo2', 'data': { 'target': 'unnamed device', 'data': { 'test': 'message' } } }] }), self.hass.loop).result() assert self.service is not None
async def test_send_message_with_data(hass): """Test sending a message with to a notify group.""" service1 = demo.DemoNotificationService(hass) service2 = demo.DemoNotificationService(hass) service1.send_message = MagicMock(autospec=True) service2.send_message = MagicMock(autospec=True) def mock_get_service(hass, config, discovery_info=None): if config["name"] == "demo1": return service1 return service2 assert await async_setup_component( hass, "group", {}, ) await hass.async_block_till_done() with patch.object(demo, "get_service", mock_get_service): await async_setup_component( hass, notify.DOMAIN, { "notify": [ { "name": "demo1", "platform": "demo" }, { "name": "demo2", "platform": "demo" }, ] }, ) await hass.async_block_till_done() service = await group.async_get_service( hass, { "services": [ { "service": "demo1" }, { "service": "demo2", "data": { "target": "unnamed device", "data": { "test": "message" }, }, }, ] }, ) """Test sending a message with to a notify group.""" await service.async_send_message("Hello", title="Test notification", data={"hello": "world"}) await hass.async_block_till_done() assert service1.send_message.mock_calls[0][1][0] == "Hello" assert service1.send_message.mock_calls[0][2] == { "title": "Test notification", "data": { "hello": "world" }, } assert service2.send_message.mock_calls[0][1][0] == "Hello" assert service2.send_message.mock_calls[0][2] == { "target": ["unnamed device"], "title": "Test notification", "data": { "hello": "world", "test": "message" }, }