check_config check bootstrap errors (#12291)

This commit is contained in:
Johann Kellerman 2018-02-11 09:40:48 +02:00 committed by Paulus Schoutsen
parent fe1a85047e
commit 65c6f72c9d
2 changed files with 24 additions and 0 deletions

View file

@ -30,6 +30,8 @@ MOCKS = {
config_util._log_pkg_error),
'logger_exception': ("homeassistant.setup._LOGGER.error",
setup._LOGGER.error),
'logger_exception_bootstrap': ("homeassistant.bootstrap._LOGGER.error",
bootstrap._LOGGER.error),
}
SILENCE = (
'homeassistant.bootstrap.clear_secret_cache',
@ -229,6 +231,11 @@ def check(config_path):
res['except'].setdefault(ERROR_STR, []).append(msg % params)
MOCKS['logger_exception'][1](msg, *params)
def mock_logger_exception_bootstrap(msg, *params):
"""Log logger.exceptions."""
res['except'].setdefault(ERROR_STR, []).append(msg % params)
MOCKS['logger_exception_bootstrap'][1](msg, *params)
# Patches to skip functions
for sil in SILENCE:
PATCHES[sil] = patch(sil)

View file

@ -212,3 +212,20 @@ class TestCheckConfig(unittest.TestCase):
assert res['components'] == {}
assert res['secret_cache'] == {}
assert res['secrets'] == {}
def test_bootstrap_error(self): \
# pylint: disable=no-self-use,invalid-name
"""Test a valid platform setup."""
files = {
'badbootstrap.yaml': BASE_CONFIG + 'automation: !include no.yaml',
}
with patch_yaml_files(files):
res = check_config.check(get_test_config_dir('badbootstrap.yaml'))
change_yaml_files(res)
err = res['except'].pop(check_config.ERROR_STR)
assert len(err) == 1
assert res['except'] == {}
assert res['components'] == {}
assert res['secret_cache'] == {}
assert res['secrets'] == {}