From 708423e0f85ad95eb72da48fc6c4b93e44a031e7 Mon Sep 17 00:00:00 2001 From: Chris Talkington Date: Thu, 29 Oct 2020 03:51:48 -0500 Subject: [PATCH] Remove YAML config for roku (#41960) --- homeassistant/components/roku/__init__.py | 23 ++------------ homeassistant/components/roku/config_flow.py | 6 ---- tests/components/roku/test_config_flow.py | 32 ++------------------ 3 files changed, 4 insertions(+), 57 deletions(-) diff --git a/homeassistant/components/roku/__init__.py b/homeassistant/components/roku/__init__.py index 663823d71b4..739e345a637 100644 --- a/homeassistant/components/roku/__init__.py +++ b/homeassistant/components/roku/__init__.py @@ -6,11 +6,10 @@ from typing import Any, Dict from rokuecp import Roku, RokuConnectionError, RokuError from rokuecp.models import Device -import voluptuous as vol from homeassistant.components.media_player import DOMAIN as MEDIA_PLAYER_DOMAIN from homeassistant.components.remote import DOMAIN as REMOTE_DOMAIN -from homeassistant.config_entries import SOURCE_IMPORT, ConfigEntry +from homeassistant.config_entries import ConfigEntry from homeassistant.const import ATTR_NAME, CONF_HOST from homeassistant.exceptions import ConfigEntryNotReady from homeassistant.helpers import config_validation as cv @@ -31,14 +30,7 @@ from .const import ( DOMAIN, ) -CONFIG_SCHEMA = vol.Schema( - { - DOMAIN: vol.All( - cv.ensure_list, [vol.Schema({vol.Required(CONF_HOST): cv.string})] - ) - }, - extra=vol.ALLOW_EXTRA, -) +CONFIG_SCHEMA = cv.deprecated(DOMAIN, invalidation_version="0.120") PLATFORMS = [MEDIA_PLAYER_DOMAIN, REMOTE_DOMAIN] SCAN_INTERVAL = timedelta(seconds=15) @@ -48,17 +40,6 @@ _LOGGER = logging.getLogger(__name__) async def async_setup(hass: HomeAssistantType, config: Dict) -> bool: """Set up the Roku integration.""" hass.data.setdefault(DOMAIN, {}) - - if DOMAIN in config: - for entry_config in config[DOMAIN]: - hass.async_create_task( - hass.config_entries.flow.async_init( - DOMAIN, - context={"source": SOURCE_IMPORT}, - data=entry_config, - ) - ) - return True diff --git a/homeassistant/components/roku/config_flow.py b/homeassistant/components/roku/config_flow.py index 662e22605c8..6e494ce2692 100644 --- a/homeassistant/components/roku/config_flow.py +++ b/homeassistant/components/roku/config_flow.py @@ -61,12 +61,6 @@ class RokuConfigFlow(ConfigFlow, domain=DOMAIN): errors=errors or {}, ) - async def async_step_import( - self, user_input: Optional[Dict] = None - ) -> Dict[str, Any]: - """Handle configuration by yaml file.""" - return await self.async_step_user(user_input) - async def async_step_user( self, user_input: Optional[Dict] = None ) -> Dict[str, Any]: diff --git a/tests/components/roku/test_config_flow.py b/tests/components/roku/test_config_flow.py index 0fb77e46139..a3cda6afa69 100644 --- a/tests/components/roku/test_config_flow.py +++ b/tests/components/roku/test_config_flow.py @@ -1,6 +1,6 @@ """Test the Roku config flow.""" from homeassistant.components.roku.const import DOMAIN -from homeassistant.config_entries import SOURCE_IMPORT, SOURCE_SSDP, SOURCE_USER +from homeassistant.config_entries import SOURCE_SSDP, SOURCE_USER from homeassistant.const import CONF_HOST, CONF_NAME, CONF_SOURCE from homeassistant.data_entry_flow import ( RESULT_TYPE_ABORT, @@ -30,7 +30,7 @@ async def test_duplicate_error( user_input = {CONF_HOST: HOST} result = await hass.config_entries.flow.async_init( - DOMAIN, context={CONF_SOURCE: SOURCE_IMPORT}, data=user_input + DOMAIN, context={CONF_SOURCE: SOURCE_USER}, data=user_input ) assert result["type"] == RESULT_TYPE_ABORT @@ -128,34 +128,6 @@ async def test_form_unknown_error(hass: HomeAssistantType) -> None: assert len(mock_validate_input.mock_calls) == 1 -async def test_import( - hass: HomeAssistantType, aioclient_mock: AiohttpClientMocker -) -> None: - """Test the import step.""" - mock_connection(aioclient_mock) - - user_input = {CONF_HOST: HOST} - with patch( - "homeassistant.components.roku.async_setup", return_value=True - ) as mock_setup, patch( - "homeassistant.components.roku.async_setup_entry", - return_value=True, - ) as mock_setup_entry: - result = await hass.config_entries.flow.async_init( - DOMAIN, context={CONF_SOURCE: SOURCE_IMPORT}, data=user_input - ) - await hass.async_block_till_done() - - assert result["type"] == RESULT_TYPE_CREATE_ENTRY - assert result["title"] == UPNP_FRIENDLY_NAME - - assert result["data"] - assert result["data"][CONF_HOST] == HOST - - assert len(mock_setup.mock_calls) == 1 - assert len(mock_setup_entry.mock_calls) == 1 - - async def test_ssdp_cannot_connect( hass: HomeAssistantType, aioclient_mock: AiohttpClientMocker ) -> None: