text: """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]
  