Remove deprecated YAML for transmission
(#72832)
This commit is contained in:
parent
df5285f681
commit
74e2d5c5c3
3 changed files with 3 additions and 98 deletions
|
@ -8,7 +8,7 @@ import transmissionrpc
|
||||||
from transmissionrpc.error import TransmissionError
|
from transmissionrpc.error import TransmissionError
|
||||||
import voluptuous as vol
|
import voluptuous as vol
|
||||||
|
|
||||||
from homeassistant.config_entries import SOURCE_IMPORT, ConfigEntry
|
from homeassistant.config_entries import ConfigEntry
|
||||||
from homeassistant.const import (
|
from homeassistant.const import (
|
||||||
CONF_HOST,
|
CONF_HOST,
|
||||||
CONF_ID,
|
CONF_ID,
|
||||||
|
@ -24,7 +24,6 @@ from homeassistant.exceptions import ConfigEntryNotReady
|
||||||
from homeassistant.helpers import config_validation as cv
|
from homeassistant.helpers import config_validation as cv
|
||||||
from homeassistant.helpers.dispatcher import dispatcher_send
|
from homeassistant.helpers.dispatcher import dispatcher_send
|
||||||
from homeassistant.helpers.event import async_track_time_interval
|
from homeassistant.helpers.event import async_track_time_interval
|
||||||
from homeassistant.helpers.typing import ConfigType
|
|
||||||
|
|
||||||
from .const import (
|
from .const import (
|
||||||
ATTR_DELETE_DATA,
|
ATTR_DELETE_DATA,
|
||||||
|
@ -34,9 +33,7 @@ from .const import (
|
||||||
DATA_UPDATED,
|
DATA_UPDATED,
|
||||||
DEFAULT_DELETE_DATA,
|
DEFAULT_DELETE_DATA,
|
||||||
DEFAULT_LIMIT,
|
DEFAULT_LIMIT,
|
||||||
DEFAULT_NAME,
|
|
||||||
DEFAULT_ORDER,
|
DEFAULT_ORDER,
|
||||||
DEFAULT_PORT,
|
|
||||||
DEFAULT_SCAN_INTERVAL,
|
DEFAULT_SCAN_INTERVAL,
|
||||||
DOMAIN,
|
DOMAIN,
|
||||||
EVENT_DOWNLOADED_TORRENT,
|
EVENT_DOWNLOADED_TORRENT,
|
||||||
|
@ -78,42 +75,11 @@ SERVICE_STOP_TORRENT_SCHEMA = vol.Schema(
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
TRANS_SCHEMA = vol.All(
|
CONFIG_SCHEMA = cv.removed(DOMAIN, raise_if_present=False)
|
||||||
vol.Schema(
|
|
||||||
{
|
|
||||||
vol.Required(CONF_HOST): cv.string,
|
|
||||||
vol.Optional(CONF_PASSWORD): cv.string,
|
|
||||||
vol.Optional(CONF_USERNAME): cv.string,
|
|
||||||
vol.Optional(CONF_PORT, default=DEFAULT_PORT): cv.port,
|
|
||||||
vol.Optional(CONF_NAME, default=DEFAULT_NAME): cv.string,
|
|
||||||
vol.Optional(
|
|
||||||
CONF_SCAN_INTERVAL, default=DEFAULT_SCAN_INTERVAL
|
|
||||||
): cv.time_period,
|
|
||||||
}
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
CONFIG_SCHEMA = vol.Schema(
|
|
||||||
vol.All(cv.deprecated(DOMAIN), {DOMAIN: vol.All(cv.ensure_list, [TRANS_SCHEMA])}),
|
|
||||||
extra=vol.ALLOW_EXTRA,
|
|
||||||
)
|
|
||||||
|
|
||||||
PLATFORMS = [Platform.SENSOR, Platform.SWITCH]
|
PLATFORMS = [Platform.SENSOR, Platform.SWITCH]
|
||||||
|
|
||||||
|
|
||||||
async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool:
|
|
||||||
"""Import the Transmission Component from config."""
|
|
||||||
if DOMAIN in config:
|
|
||||||
for entry in config[DOMAIN]:
|
|
||||||
hass.async_create_task(
|
|
||||||
hass.config_entries.flow.async_init(
|
|
||||||
DOMAIN, context={"source": SOURCE_IMPORT}, data=entry
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
return True
|
|
||||||
|
|
||||||
|
|
||||||
async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> bool:
|
async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> bool:
|
||||||
"""Set up the Transmission Component."""
|
"""Set up the Transmission Component."""
|
||||||
client = TransmissionClient(hass, config_entry)
|
client = TransmissionClient(hass, config_entry)
|
||||||
|
|
|
@ -83,13 +83,6 @@ class TransmissionFlowHandler(config_entries.ConfigFlow, domain=DOMAIN):
|
||||||
errors=errors,
|
errors=errors,
|
||||||
)
|
)
|
||||||
|
|
||||||
async def async_step_import(self, import_config):
|
|
||||||
"""Import from Transmission client config."""
|
|
||||||
import_config[CONF_SCAN_INTERVAL] = import_config[
|
|
||||||
CONF_SCAN_INTERVAL
|
|
||||||
].total_seconds()
|
|
||||||
return await self.async_step_user(user_input=import_config)
|
|
||||||
|
|
||||||
|
|
||||||
class TransmissionOptionsFlowHandler(config_entries.OptionsFlow):
|
class TransmissionOptionsFlowHandler(config_entries.OptionsFlow):
|
||||||
"""Handle Transmission client options."""
|
"""Handle Transmission client options."""
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
"""Tests for Transmission config flow."""
|
"""Tests for Transmission config flow."""
|
||||||
from datetime import timedelta
|
|
||||||
from unittest.mock import patch
|
from unittest.mock import patch
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
|
@ -8,15 +7,7 @@ from transmissionrpc.error import TransmissionError
|
||||||
from homeassistant import config_entries, data_entry_flow
|
from homeassistant import config_entries, data_entry_flow
|
||||||
from homeassistant.components import transmission
|
from homeassistant.components import transmission
|
||||||
from homeassistant.components.transmission import config_flow
|
from homeassistant.components.transmission import config_flow
|
||||||
from homeassistant.components.transmission.const import (
|
from homeassistant.components.transmission.const import DEFAULT_SCAN_INTERVAL
|
||||||
CONF_LIMIT,
|
|
||||||
CONF_ORDER,
|
|
||||||
DEFAULT_LIMIT,
|
|
||||||
DEFAULT_NAME,
|
|
||||||
DEFAULT_ORDER,
|
|
||||||
DEFAULT_PORT,
|
|
||||||
DEFAULT_SCAN_INTERVAL,
|
|
||||||
)
|
|
||||||
from homeassistant.const import (
|
from homeassistant.const import (
|
||||||
CONF_HOST,
|
CONF_HOST,
|
||||||
CONF_NAME,
|
CONF_NAME,
|
||||||
|
@ -153,51 +144,6 @@ async def test_options(hass):
|
||||||
assert result["data"][CONF_SCAN_INTERVAL] == 10
|
assert result["data"][CONF_SCAN_INTERVAL] == 10
|
||||||
|
|
||||||
|
|
||||||
async def test_import(hass, api):
|
|
||||||
"""Test import step."""
|
|
||||||
flow = init_config_flow(hass)
|
|
||||||
|
|
||||||
# import with minimum fields only
|
|
||||||
result = await flow.async_step_import(
|
|
||||||
{
|
|
||||||
CONF_NAME: DEFAULT_NAME,
|
|
||||||
CONF_HOST: HOST,
|
|
||||||
CONF_PORT: DEFAULT_PORT,
|
|
||||||
CONF_SCAN_INTERVAL: timedelta(seconds=DEFAULT_SCAN_INTERVAL),
|
|
||||||
CONF_LIMIT: DEFAULT_LIMIT,
|
|
||||||
CONF_ORDER: DEFAULT_ORDER,
|
|
||||||
}
|
|
||||||
)
|
|
||||||
assert result["type"] == data_entry_flow.RESULT_TYPE_CREATE_ENTRY
|
|
||||||
assert result["title"] == DEFAULT_NAME
|
|
||||||
assert result["data"][CONF_NAME] == DEFAULT_NAME
|
|
||||||
assert result["data"][CONF_HOST] == HOST
|
|
||||||
assert result["data"][CONF_PORT] == DEFAULT_PORT
|
|
||||||
assert result["data"][CONF_SCAN_INTERVAL] == DEFAULT_SCAN_INTERVAL
|
|
||||||
|
|
||||||
# import with all
|
|
||||||
result = await flow.async_step_import(
|
|
||||||
{
|
|
||||||
CONF_NAME: NAME,
|
|
||||||
CONF_HOST: HOST,
|
|
||||||
CONF_USERNAME: USERNAME,
|
|
||||||
CONF_PASSWORD: PASSWORD,
|
|
||||||
CONF_PORT: PORT,
|
|
||||||
CONF_SCAN_INTERVAL: timedelta(seconds=SCAN_INTERVAL),
|
|
||||||
CONF_LIMIT: DEFAULT_LIMIT,
|
|
||||||
CONF_ORDER: DEFAULT_ORDER,
|
|
||||||
}
|
|
||||||
)
|
|
||||||
assert result["type"] == data_entry_flow.RESULT_TYPE_CREATE_ENTRY
|
|
||||||
assert result["title"] == NAME
|
|
||||||
assert result["data"][CONF_NAME] == NAME
|
|
||||||
assert result["data"][CONF_HOST] == HOST
|
|
||||||
assert result["data"][CONF_USERNAME] == USERNAME
|
|
||||||
assert result["data"][CONF_PASSWORD] == PASSWORD
|
|
||||||
assert result["data"][CONF_PORT] == PORT
|
|
||||||
assert result["data"][CONF_SCAN_INTERVAL] == SCAN_INTERVAL
|
|
||||||
|
|
||||||
|
|
||||||
async def test_host_already_configured(hass, api):
|
async def test_host_already_configured(hass, api):
|
||||||
"""Test host is already configured."""
|
"""Test host is already configured."""
|
||||||
entry = MockConfigEntry(
|
entry = MockConfigEntry(
|
||||||
|
|
Loading…
Add table
Reference in a new issue