From 07af0737356149436047448db7b8ffb757d91f48 Mon Sep 17 00:00:00 2001 From: Erik Montnemery Date: Mon, 13 Nov 2023 15:19:37 +0100 Subject: [PATCH] Remove trailing space from configuration error messages (#103909) * Remove trailing space from configuration error messages * Update test --- homeassistant/config.py | 6 ++-- tests/helpers/test_check_config.py | 2 +- tests/snapshots/test_config.ambr | 52 +++++++++++++++--------------- 3 files changed, 30 insertions(+), 30 deletions(-) diff --git a/homeassistant/config.py b/homeassistant/config.py index 61f3dd963af..abe14adb2ef 100644 --- a/homeassistant/config.py +++ b/homeassistant/config.py @@ -535,11 +535,11 @@ def _format_config_error( message += ( f" (See {getattr(domain_config, '__config_file__', '?')}, " - f"line {getattr(domain_config, '__line__', '?')}). " + f"line {getattr(domain_config, '__line__', '?')})." ) if domain != CONF_CORE and link: - message += f"Please check the docs at {link}" + message += f" Please check the docs at {link}" return message, is_friendly @@ -670,7 +670,7 @@ def _log_pkg_error(package: str, component: str, config: dict, message: str) -> pack_config = config[CONF_CORE][CONF_PACKAGES].get(package, config) message += ( f" (See {getattr(pack_config, '__config_file__', '?')}:" - f"{getattr(pack_config, '__line__', '?')}). " + f"{getattr(pack_config, '__line__', '?')})." ) _LOGGER.error(message) diff --git a/tests/helpers/test_check_config.py b/tests/helpers/test_check_config.py index 38c1b4913cd..a62bd8b39e4 100644 --- a/tests/helpers/test_check_config.py +++ b/tests/helpers/test_check_config.py @@ -83,7 +83,7 @@ async def test_bad_core_config(hass: HomeAssistant) -> None: ( "Invalid config for [homeassistant]: not a valid value for dictionary " "value @ data['unit_system']. Got 'bad'. (See " - f"{hass.config.path(YAML_CONFIG_FILE)}, line 2). " + f"{hass.config.path(YAML_CONFIG_FILE)}, line 2)." ), "homeassistant", {"unit_system": "bad"}, diff --git a/tests/snapshots/test_config.ambr b/tests/snapshots/test_config.ambr index 98580600f27..e7afa47537a 100644 --- a/tests/snapshots/test_config.ambr +++ b/tests/snapshots/test_config.ambr @@ -1,60 +1,60 @@ # serializer version: 1 # name: test_component_config_validation_error[basic] list([ - "Invalid config for [iot_domain.non_adr_0007]: expected str for dictionary value @ data['option1']. Got 123. (See /fixtures/core/config/component_validation/basic/configuration.yaml, line 6). ", - "Invalid config for [iot_domain]: required key not provided @ data['platform']. Got None. (See /fixtures/core/config/component_validation/basic/configuration.yaml, line 9). ", - "Invalid config for [adr_0007_2]: required key not provided @ data['adr_0007_2']['host']. Got None. (See ?, line ?). ", - "Invalid config for [adr_0007_3]: expected int for dictionary value @ data['adr_0007_3']['port']. Got 'foo'. (See /fixtures/core/config/component_validation/basic/configuration.yaml, line 20). ", + "Invalid config for [iot_domain.non_adr_0007]: expected str for dictionary value @ data['option1']. Got 123. (See /fixtures/core/config/component_validation/basic/configuration.yaml, line 6).", + "Invalid config for [iot_domain]: required key not provided @ data['platform']. Got None. (See /fixtures/core/config/component_validation/basic/configuration.yaml, line 9).", + "Invalid config for [adr_0007_2]: required key not provided @ data['adr_0007_2']['host']. Got None. (See ?, line ?).", + "Invalid config for [adr_0007_3]: expected int for dictionary value @ data['adr_0007_3']['port']. Got 'foo'. (See /fixtures/core/config/component_validation/basic/configuration.yaml, line 20).", ]) # --- # name: test_component_config_validation_error[basic_include] list([ - "Invalid config for [iot_domain.non_adr_0007]: expected str for dictionary value @ data['option1']. Got 123. (See /fixtures/core/config/component_validation/basic_include/integrations/iot_domain.yaml, line 5). ", - "Invalid config for [iot_domain]: required key not provided @ data['platform']. Got None. (See /fixtures/core/config/component_validation/basic_include/integrations/iot_domain.yaml, line 8). ", - "Invalid config for [adr_0007_2]: required key not provided @ data['adr_0007_2']['host']. Got None. (See ?, line ?). ", - "Invalid config for [adr_0007_3]: expected int for dictionary value @ data['adr_0007_3']['port']. Got 'foo'. (See /fixtures/core/config/component_validation/basic_include/configuration.yaml, line 4). ", + "Invalid config for [iot_domain.non_adr_0007]: expected str for dictionary value @ data['option1']. Got 123. (See /fixtures/core/config/component_validation/basic_include/integrations/iot_domain.yaml, line 5).", + "Invalid config for [iot_domain]: required key not provided @ data['platform']. Got None. (See /fixtures/core/config/component_validation/basic_include/integrations/iot_domain.yaml, line 8).", + "Invalid config for [adr_0007_2]: required key not provided @ data['adr_0007_2']['host']. Got None. (See ?, line ?).", + "Invalid config for [adr_0007_3]: expected int for dictionary value @ data['adr_0007_3']['port']. Got 'foo'. (See /fixtures/core/config/component_validation/basic_include/configuration.yaml, line 4).", ]) # --- # name: test_component_config_validation_error[include_dir_list] list([ - "Invalid config for [iot_domain.non_adr_0007]: expected str for dictionary value @ data['option1']. Got 123. (See /fixtures/core/config/component_validation/include_dir_list/iot_domain/iot_domain_2.yaml, line 2). ", - "Invalid config for [iot_domain]: required key not provided @ data['platform']. Got None. (See /fixtures/core/config/component_validation/include_dir_list/iot_domain/iot_domain_3.yaml, line 2). ", + "Invalid config for [iot_domain.non_adr_0007]: expected str for dictionary value @ data['option1']. Got 123. (See /fixtures/core/config/component_validation/include_dir_list/iot_domain/iot_domain_2.yaml, line 2).", + "Invalid config for [iot_domain]: required key not provided @ data['platform']. Got None. (See /fixtures/core/config/component_validation/include_dir_list/iot_domain/iot_domain_3.yaml, line 2).", ]) # --- # name: test_component_config_validation_error[include_dir_merge_list] list([ - "Invalid config for [iot_domain.non_adr_0007]: expected str for dictionary value @ data['option1']. Got 123. (See /fixtures/core/config/component_validation/include_dir_merge_list/iot_domain/iot_domain_2.yaml, line 2). ", - "Invalid config for [iot_domain]: required key not provided @ data['platform']. Got None. (See /fixtures/core/config/component_validation/include_dir_merge_list/iot_domain/iot_domain_2.yaml, line 5). ", + "Invalid config for [iot_domain.non_adr_0007]: expected str for dictionary value @ data['option1']. Got 123. (See /fixtures/core/config/component_validation/include_dir_merge_list/iot_domain/iot_domain_2.yaml, line 2).", + "Invalid config for [iot_domain]: required key not provided @ data['platform']. Got None. (See /fixtures/core/config/component_validation/include_dir_merge_list/iot_domain/iot_domain_2.yaml, line 5).", ]) # --- # name: test_component_config_validation_error[packages] list([ - "Invalid config for [iot_domain.non_adr_0007]: expected str for dictionary value @ data['option1']. Got 123. (See /fixtures/core/config/component_validation/packages/configuration.yaml, line 11). ", - "Invalid config for [iot_domain]: required key not provided @ data['platform']. Got None. (See /fixtures/core/config/component_validation/packages/configuration.yaml, line 16). ", - "Invalid config for [adr_0007_2]: required key not provided @ data['adr_0007_2']['host']. Got None. (See ?, line ?). ", - "Invalid config for [adr_0007_3]: expected int for dictionary value @ data['adr_0007_3']['port']. Got 'foo'. (See ?, line ?). ", + "Invalid config for [iot_domain.non_adr_0007]: expected str for dictionary value @ data['option1']. Got 123. (See /fixtures/core/config/component_validation/packages/configuration.yaml, line 11).", + "Invalid config for [iot_domain]: required key not provided @ data['platform']. Got None. (See /fixtures/core/config/component_validation/packages/configuration.yaml, line 16).", + "Invalid config for [adr_0007_2]: required key not provided @ data['adr_0007_2']['host']. Got None. (See ?, line ?).", + "Invalid config for [adr_0007_3]: expected int for dictionary value @ data['adr_0007_3']['port']. Got 'foo'. (See ?, line ?).", ]) # --- # name: test_component_config_validation_error[packages_include_dir_named] list([ - "Invalid config for [iot_domain.non_adr_0007]: expected str for dictionary value @ data['option1']. Got 123. (See /fixtures/core/config/component_validation/packages_include_dir_named/integrations/iot_domain.yaml, line 6). ", - "Invalid config for [iot_domain]: required key not provided @ data['platform']. Got None. (See /fixtures/core/config/component_validation/packages_include_dir_named/integrations/iot_domain.yaml, line 9). ", - "Invalid config for [adr_0007_2]: required key not provided @ data['adr_0007_2']['host']. Got None. (See ?, line ?). ", - "Invalid config for [adr_0007_3]: expected int for dictionary value @ data['adr_0007_3']['port']. Got 'foo'. (See ?, line ?). ", + "Invalid config for [iot_domain.non_adr_0007]: expected str for dictionary value @ data['option1']. Got 123. (See /fixtures/core/config/component_validation/packages_include_dir_named/integrations/iot_domain.yaml, line 6).", + "Invalid config for [iot_domain]: required key not provided @ data['platform']. Got None. (See /fixtures/core/config/component_validation/packages_include_dir_named/integrations/iot_domain.yaml, line 9).", + "Invalid config for [adr_0007_2]: required key not provided @ data['adr_0007_2']['host']. Got None. (See ?, line ?).", + "Invalid config for [adr_0007_3]: expected int for dictionary value @ data['adr_0007_3']['port']. Got 'foo'. (See ?, line ?).", ]) # --- # name: test_package_merge_error[packages] list([ - 'Package pack_1 setup failed. Integration adr_0007_1 cannot be merged. Dict expected in main config. (See /fixtures/core/config/package_errors/packages/configuration.yaml:9). ', - 'Package pack_2 setup failed. Integration adr_0007_2 cannot be merged. Expected a dict. (See /fixtures/core/config/package_errors/packages/configuration.yaml:13). ', - "Package pack_4 setup failed. Integration adr_0007_3 has duplicate key 'host' (See /fixtures/core/config/package_errors/packages/configuration.yaml:20). ", + 'Package pack_1 setup failed. Integration adr_0007_1 cannot be merged. Dict expected in main config. (See /fixtures/core/config/package_errors/packages/configuration.yaml:9).', + 'Package pack_2 setup failed. Integration adr_0007_2 cannot be merged. Expected a dict. (See /fixtures/core/config/package_errors/packages/configuration.yaml:13).', + "Package pack_4 setup failed. Integration adr_0007_3 has duplicate key 'host' (See /fixtures/core/config/package_errors/packages/configuration.yaml:20).", ]) # --- # name: test_package_merge_error[packages_include_dir_named] list([ - 'Package adr_0007_1 setup failed. Integration adr_0007_1 cannot be merged. Dict expected in main config. (See /fixtures/core/config/package_errors/packages_include_dir_named/integrations/adr_0007_1.yaml:2). ', - 'Package adr_0007_2 setup failed. Integration adr_0007_2 cannot be merged. Expected a dict. (See /fixtures/core/config/package_errors/packages_include_dir_named/integrations/adr_0007_2.yaml:2). ', - "Package adr_0007_3_2 setup failed. Integration adr_0007_3 has duplicate key 'host' (See /fixtures/core/config/package_errors/packages_include_dir_named/integrations/adr_0007_3_2.yaml:1). ", + 'Package adr_0007_1 setup failed. Integration adr_0007_1 cannot be merged. Dict expected in main config. (See /fixtures/core/config/package_errors/packages_include_dir_named/integrations/adr_0007_1.yaml:2).', + 'Package adr_0007_2 setup failed. Integration adr_0007_2 cannot be merged. Expected a dict. (See /fixtures/core/config/package_errors/packages_include_dir_named/integrations/adr_0007_2.yaml:2).', + "Package adr_0007_3_2 setup failed. Integration adr_0007_3 has duplicate key 'host' (See /fixtures/core/config/package_errors/packages_include_dir_named/integrations/adr_0007_3_2.yaml:1).", ]) # --- # name: test_yaml_error[basic]