From 6389959fb7891952f69e1eecf81519a6294de35f Mon Sep 17 00:00:00 2001 From: Diogo Gomes Date: Sun, 3 Apr 2022 04:41:03 +0100 Subject: [PATCH] Makes sure YAML defined tariffs are unique (#69151) --- .../components/utility_meter/__init__.py | 2 +- tests/components/utility_meter/test_sensor.py | 21 +++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/homeassistant/components/utility_meter/__init__.py b/homeassistant/components/utility_meter/__init__.py index 0195ee53fc8..ecc1110d7ff 100644 --- a/homeassistant/components/utility_meter/__init__.py +++ b/homeassistant/components/utility_meter/__init__.py @@ -85,7 +85,7 @@ METER_CONFIG_SCHEMA = vol.Schema( vol.Optional(CONF_METER_DELTA_VALUES, default=False): cv.boolean, vol.Optional(CONF_METER_NET_CONSUMPTION, default=False): cv.boolean, vol.Optional(CONF_TARIFFS, default=[]): vol.All( - cv.ensure_list, [cv.string] + cv.ensure_list, vol.Unique(), [cv.string] ), vol.Optional(CONF_CRON_PATTERN): validate_cron_pattern, }, diff --git a/tests/components/utility_meter/test_sensor.py b/tests/components/utility_meter/test_sensor.py index 63dc0523e6d..f771d42f82b 100644 --- a/tests/components/utility_meter/test_sensor.py +++ b/tests/components/utility_meter/test_sensor.py @@ -226,6 +226,27 @@ async def test_state(hass, yaml_config, config_entry_config): assert state.state == "0.123" +@pytest.mark.parametrize( + "yaml_config", + ( + ( + { + "utility_meter": { + "energy_bill": { + "source": "sensor.energy", + "tariffs": ["onpeak", "onpeak"], + } + } + }, + None, + ), + ), +) +async def test_not_unique_tariffs(hass, yaml_config): + """Test utility sensor state initializtion.""" + assert not await async_setup_component(hass, DOMAIN, yaml_config) + + @pytest.mark.parametrize( "yaml_config,config_entry_config", (