From a320e42ed5b53caf7a1211c603dbc86f3d71a105 Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Mon, 27 Jan 2020 21:38:26 +0100 Subject: [PATCH] Fix services validation & add tests (#1456) --- hassio/services/validate.py | 6 ++++-- tests/discovery/test_unifi.py | 19 +++++++++++++++++++ tests/services/test_data.py | 7 +++++++ 3 files changed, 30 insertions(+), 2 deletions(-) create mode 100644 tests/discovery/test_unifi.py create mode 100644 tests/services/test_data.py diff --git a/hassio/services/validate.py b/hassio/services/validate.py index f14fcc3e0..975ac970f 100644 --- a/hassio/services/validate.py +++ b/hassio/services/validate.py @@ -8,7 +8,9 @@ from .modules.mysql import SCHEMA_CONFIG_MYSQL SCHEMA_SERVICES_CONFIG = vol.Schema( - {vol.Optional(SERVICE_MQTT, default=dict): schema_or(SCHEMA_CONFIG_MQTT)}, - {vol.Optional(SERVICE_MYSQL, default=dict): schema_or(SCHEMA_CONFIG_MYSQL)}, + { + vol.Optional(SERVICE_MQTT, default=dict): schema_or(SCHEMA_CONFIG_MQTT), + vol.Optional(SERVICE_MYSQL, default=dict): schema_or(SCHEMA_CONFIG_MYSQL), + }, extra=vol.REMOVE_EXTRA, ) diff --git a/tests/discovery/test_unifi.py b/tests/discovery/test_unifi.py new file mode 100644 index 000000000..53dc9e4d4 --- /dev/null +++ b/tests/discovery/test_unifi.py @@ -0,0 +1,19 @@ +"""Test unifi discovery.""" + +import voluptuous as vol +import pytest + +from hassio.discovery.validate import valid_discovery_config + + +def test_good_config(): + """Test good unifi config.""" + + valid_discovery_config("unifi", {"host": "test", "port": 3812}) + + +def test_bad_config(): + """Test good unifi config.""" + + with pytest.raises(vol.Invalid): + valid_discovery_config("unifi", {"host": "test"}) diff --git a/tests/services/test_data.py b/tests/services/test_data.py new file mode 100644 index 000000000..d9f82fcab --- /dev/null +++ b/tests/services/test_data.py @@ -0,0 +1,7 @@ +"""Test services data.""" + + +def test_data_initial(coresys): + """Test initial data for services.""" + assert coresys.services.data.mqtt == {} + assert coresys.services.data.mysql == {}