"""The tests for the Homematic notification platform.""" import unittest from homeassistant.setup import setup_component import homeassistant.components.notify as notify_comp from tests.common import assert_setup_component, get_test_home_assistant class TestHomematicNotify(unittest.TestCase): """Test the Homematic notifications.""" def setUp(self): # pylint: disable=invalid-name """Set up things to be run when tests are started.""" self.hass = get_test_home_assistant() def tearDown(self): # pylint: disable=invalid-name """Stop down everything that was started.""" self.hass.stop() def test_setup_full(self): """Test valid configuration.""" setup_component( self.hass, "homematic", {"homematic": {"hosts": {"ccu2": {"host": "127.0.0.1"}}}}, ) with assert_setup_component(1) as handle_config: assert setup_component( self.hass, "notify", { "notify": { "name": "test", "platform": "homematic", "address": "NEQXXXXXXX", "channel": 2, "param": "SUBMIT", "value": "1,1,108000,2", "interface": "my-interface", } }, ) assert handle_config[notify_comp.DOMAIN] def test_setup_without_optional(self): """Test valid configuration without optional.""" setup_component( self.hass, "homematic", {"homematic": {"hosts": {"ccu2": {"host": "127.0.0.1"}}}}, ) with assert_setup_component(1) as handle_config: assert setup_component( self.hass, "notify", { "notify": { "name": "test", "platform": "homematic", "address": "NEQXXXXXXX", "channel": 2, "param": "SUBMIT", "value": "1,1,108000,2", } }, ) assert handle_config[notify_comp.DOMAIN] def test_bad_config(self): """Test invalid configuration.""" config = {notify_comp.DOMAIN: {"name": "test", "platform": "homematic"}} with assert_setup_component(0) as handle_config: assert setup_component(self.hass, notify_comp.DOMAIN, config) assert not handle_config[notify_comp.DOMAIN]