From 9ec4e9a1a90e4c8663487835192eb0697bc47dcb Mon Sep 17 00:00:00 2001 From: Joost Lekkerkerker Date: Sun, 7 Apr 2024 19:38:56 +0200 Subject: [PATCH] Remove Color extractor import flow (#115015) * Remove Color extractor import flow * Remove Color extractor import flow --- .../components/color_extractor/__init__.py | 14 +------ .../components/color_extractor/config_flow.py | 38 ------------------- .../components/color_extractor/strings.json | 6 --- .../color_extractor/test_config_flow.py | 28 ++------------ tests/components/color_extractor/test_init.py | 18 --------- 5 files changed, 5 insertions(+), 99 deletions(-) delete mode 100644 tests/components/color_extractor/test_init.py diff --git a/homeassistant/components/color_extractor/__init__.py b/homeassistant/components/color_extractor/__init__.py index be9b80e8f52..81cd55564b9 100644 --- a/homeassistant/components/color_extractor/__init__.py +++ b/homeassistant/components/color_extractor/__init__.py @@ -14,7 +14,7 @@ from homeassistant.components.light import ( DOMAIN as LIGHT_DOMAIN, LIGHT_TURN_ON_SCHEMA, ) -from homeassistant.config_entries import SOURCE_IMPORT, ConfigEntry +from homeassistant.config_entries import ConfigEntry from homeassistant.const import SERVICE_TURN_ON as LIGHT_SERVICE_TURN_ON from homeassistant.core import HomeAssistant, ServiceCall from homeassistant.helpers import aiohttp_client @@ -25,10 +25,7 @@ from .const import ATTR_PATH, ATTR_URL, DOMAIN, SERVICE_TURN_ON _LOGGER = logging.getLogger(__name__) -CONFIG_SCHEMA = vol.Schema( - {vol.Optional(DOMAIN): {}}, - extra=vol.ALLOW_EXTRA, -) +CONFIG_SCHEMA = cv.removed(DOMAIN, raise_if_present=False) # Extend the existing light.turn_on service schema SERVICE_SCHEMA = vol.All( @@ -156,13 +153,6 @@ async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: _file = _get_file(file_path) return _get_color(_file) - if DOMAIN in config: - hass.async_create_task( - hass.config_entries.flow.async_init( - DOMAIN, context={"source": SOURCE_IMPORT}, data={} - ) - ) - return True diff --git a/homeassistant/components/color_extractor/config_flow.py b/homeassistant/components/color_extractor/config_flow.py index de1f9cb35be..aacb07d8982 100644 --- a/homeassistant/components/color_extractor/config_flow.py +++ b/homeassistant/components/color_extractor/config_flow.py @@ -5,9 +5,6 @@ from __future__ import annotations from typing import Any from homeassistant.config_entries import ConfigFlow, ConfigFlowResult -from homeassistant.core import DOMAIN as HOMEASSISTANT_DOMAIN -from homeassistant.data_entry_flow import FlowResultType -from homeassistant.helpers.issue_registry import IssueSeverity, async_create_issue from .const import DEFAULT_NAME, DOMAIN @@ -28,38 +25,3 @@ class ColorExtractorConfigFlow(ConfigFlow, domain=DOMAIN): return self.async_create_entry(title=DEFAULT_NAME, data={}) return self.async_show_form(step_id="user") - - async def async_step_import(self, user_input: dict[str, Any]) -> ConfigFlowResult: - """Handle import from configuration.yaml.""" - result = await self.async_step_user(user_input) - if result["type"] == FlowResultType.CREATE_ENTRY: - async_create_issue( - self.hass, - HOMEASSISTANT_DOMAIN, - f"deprecated_yaml_{DOMAIN}", - breaks_in_ha_version="2024.4.0", - is_fixable=False, - issue_domain=DOMAIN, - severity=IssueSeverity.WARNING, - translation_key="deprecated_yaml", - translation_placeholders={ - "domain": DOMAIN, - "integration_title": "Color extractor", - }, - ) - else: - async_create_issue( - self.hass, - DOMAIN, - "deprecated_yaml", - breaks_in_ha_version="2024.4.0", - is_fixable=False, - issue_domain=DOMAIN, - severity=IssueSeverity.WARNING, - translation_key="deprecated_yaml", - translation_placeholders={ - "domain": DOMAIN, - "integration_title": "Color extractor", - }, - ) - return result diff --git a/homeassistant/components/color_extractor/strings.json b/homeassistant/components/color_extractor/strings.json index aa5fd5f4ef7..f66c448f7c2 100644 --- a/homeassistant/components/color_extractor/strings.json +++ b/homeassistant/components/color_extractor/strings.json @@ -9,12 +9,6 @@ "single_instance_allowed": "[%key:common::config_flow::abort::single_instance_allowed%]" } }, - "issues": { - "deprecated_yaml": { - "title": "The {integration_title} YAML configuration is being removed", - "description": "Configuring {integration_title} using YAML is being removed.\n\nYour configuration is already imported.\n\nRemove the `{domain}` configuration from your configuration.yaml file and restart Home Assistant to fix this issue." - } - }, "services": { "turn_on": { "name": "[%key:common::action::turn_on%]", diff --git a/tests/components/color_extractor/test_config_flow.py b/tests/components/color_extractor/test_config_flow.py index 886c7991177..972b78b3f59 100644 --- a/tests/components/color_extractor/test_config_flow.py +++ b/tests/components/color_extractor/test_config_flow.py @@ -2,10 +2,8 @@ from unittest.mock import patch -import pytest - from homeassistant.components.color_extractor.const import DOMAIN -from homeassistant.config_entries import SOURCE_IMPORT, SOURCE_USER +from homeassistant.config_entries import SOURCE_USER from homeassistant.core import HomeAssistant from homeassistant.data_entry_flow import FlowResultType @@ -37,35 +35,15 @@ async def test_full_user_flow(hass: HomeAssistant) -> None: assert len(mock_setup_entry.mock_calls) == 1 -@pytest.mark.parametrize("source", [SOURCE_USER, SOURCE_IMPORT]) -async def test_single_instance_allowed( - hass: HomeAssistant, - source: str, -) -> None: +async def test_single_instance_allowed(hass: HomeAssistant) -> None: """Test we abort if already setup.""" mock_config_entry = MockConfigEntry(domain=DOMAIN) mock_config_entry.add_to_hass(hass) result = await hass.config_entries.flow.async_init( - DOMAIN, context={"source": source}, data={} + DOMAIN, context={"source": SOURCE_USER}, data={} ) assert result.get("type") is FlowResultType.ABORT assert result.get("reason") == "single_instance_allowed" - - -async def test_import_flow( - hass: HomeAssistant, -) -> None: - """Test the import configuration flow.""" - result = await hass.config_entries.flow.async_init( - DOMAIN, - context={"source": SOURCE_IMPORT}, - data={}, - ) - - assert result.get("type") is FlowResultType.CREATE_ENTRY - assert result.get("title") == "Color extractor" - assert result.get("data") == {} - assert result.get("options") == {} diff --git a/tests/components/color_extractor/test_init.py b/tests/components/color_extractor/test_init.py deleted file mode 100644 index cf4354db48d..00000000000 --- a/tests/components/color_extractor/test_init.py +++ /dev/null @@ -1,18 +0,0 @@ -"""Test Color extractor component setup process.""" - -from homeassistant.components.color_extractor import DOMAIN -from homeassistant.config_entries import ConfigEntryState -from homeassistant.core import HomeAssistant -from homeassistant.helpers import issue_registry as ir -from homeassistant.setup import async_setup_component - - -async def test_legacy_migration(hass: HomeAssistant) -> None: - """Test migration from yaml to config flow.""" - assert await async_setup_component(hass, DOMAIN, {DOMAIN: {}}) - await hass.async_block_till_done() - entries = hass.config_entries.async_entries(DOMAIN) - assert len(entries) == 1 - assert entries[0].state is ConfigEntryState.LOADED - issue_registry = ir.async_get(hass) - assert len(issue_registry.issues) == 1