diff --git a/supervisor/discovery/services/matter.py b/supervisor/discovery/services/matter.py new file mode 100644 index 000000000..b548c2172 --- /dev/null +++ b/supervisor/discovery/services/matter.py @@ -0,0 +1,13 @@ +"""Discovery service for Matter Server.""" +import voluptuous as vol + +from ...validate import network_port +from ..const import ATTR_HOST, ATTR_PORT + +# pylint: disable=no-value-for-parameter +SCHEMA = vol.Schema( + { + vol.Required(ATTR_HOST): str, + vol.Required(ATTR_PORT): network_port, + } +) diff --git a/tests/discovery/test_matter.py b/tests/discovery/test_matter.py new file mode 100644 index 000000000..606cd322d --- /dev/null +++ b/tests/discovery/test_matter.py @@ -0,0 +1,22 @@ +"""Test Matter Server discovery.""" + +import pytest +import voluptuous as vol + +from supervisor.discovery.validate import valid_discovery_config + + +def test_good_config(): + """Test good Matter Server config.""" + + valid_discovery_config( + "matter", + {"host": "test", "port": 3812}, + ) + + +def test_bad_config(): + """Test bad Matter Server config.""" + + with pytest.raises(vol.Invalid): + valid_discovery_config("matter", {"host": "test"})