From 618538aeff7cd65bb58d7ccfe936a02542b7c527 Mon Sep 17 00:00:00 2001 From: Quentame Date: Fri, 17 Apr 2020 22:45:17 +0200 Subject: [PATCH] Add missed CONF_API_VERSION config in flow + Fix missing_data translation (#34356) * Add missed CONF_API_VERSION config in flow + remove CONF_NAME in tests * Fix missing_data translation --- .../synology_dsm/.translations/en.json | 2 +- .../components/synology_dsm/config_flow.py | 1 + .../components/synology_dsm/strings.json | 2 +- .../synology_dsm/test_config_flow.py | 32 +++++++++++-------- 4 files changed, 22 insertions(+), 15 deletions(-) diff --git a/homeassistant/components/synology_dsm/.translations/en.json b/homeassistant/components/synology_dsm/.translations/en.json index 10bdb14870de..316d715e0b52 100644 --- a/homeassistant/components/synology_dsm/.translations/en.json +++ b/homeassistant/components/synology_dsm/.translations/en.json @@ -5,7 +5,7 @@ }, "error": { "login": "Login error: please check your username & password", - "unknown": "Unknown error: please retry later or an other configuration" + "missing_data": "Missing data: please retry later or an other configuration" }, "flow_title": "Synology DSM {name} ({host})", "step": { diff --git a/homeassistant/components/synology_dsm/config_flow.py b/homeassistant/components/synology_dsm/config_flow.py index f34e01d55bcc..de36e1298a6b 100644 --- a/homeassistant/components/synology_dsm/config_flow.py +++ b/homeassistant/components/synology_dsm/config_flow.py @@ -137,6 +137,7 @@ class SynologyDSMFlowHandler(config_entries.ConfigFlow, domain=DOMAIN): CONF_SSL: use_ssl, CONF_USERNAME: username, CONF_PASSWORD: password, + CONF_API_VERSION: api_version, } if user_input.get(CONF_DISKS): config_data[CONF_DISKS] = user_input[CONF_DISKS] diff --git a/homeassistant/components/synology_dsm/strings.json b/homeassistant/components/synology_dsm/strings.json index f865ca000274..ec5644fe6fbb 100644 --- a/homeassistant/components/synology_dsm/strings.json +++ b/homeassistant/components/synology_dsm/strings.json @@ -27,7 +27,7 @@ }, "error": { "login": "Login error: please check your username & password", - "unknown": "Unknown error: please retry later or an other configuration" + "missing_data": "Missing data: please retry later or an other configuration" }, "abort": { "already_configured": "Host already configured" } } diff --git a/tests/components/synology_dsm/test_config_flow.py b/tests/components/synology_dsm/test_config_flow.py index 27ae28aa50ea..3daa4ce7b4ea 100644 --- a/tests/components/synology_dsm/test_config_flow.py +++ b/tests/components/synology_dsm/test_config_flow.py @@ -8,6 +8,7 @@ from homeassistant import data_entry_flow, setup from homeassistant.components import ssdp from homeassistant.components.synology_dsm.const import ( CONF_VOLUMES, + DEFAULT_DSM_VERSION, DEFAULT_PORT, DEFAULT_PORT_SSL, DEFAULT_SSL, @@ -15,9 +16,9 @@ from homeassistant.components.synology_dsm.const import ( ) from homeassistant.config_entries import SOURCE_IMPORT, SOURCE_SSDP, SOURCE_USER from homeassistant.const import ( + CONF_API_VERSION, CONF_DISKS, CONF_HOST, - CONF_NAME, CONF_PASSWORD, CONF_PORT, CONF_SSL, @@ -30,7 +31,6 @@ from tests.common import MockConfigEntry _LOGGER = logging.getLogger(__name__) -NAME = "My Syno" HOST = "nas.meontheinternet.com" SERIAL = "mySerial" HOST_2 = "nas.worldwide.me" @@ -95,6 +95,7 @@ async def test_user(hass: HomeAssistantType, service: MagicMock): CONF_SSL: SSL, CONF_USERNAME: USERNAME, CONF_PASSWORD: PASSWORD, + CONF_API_VERSION: 5, }, ) assert result["type"] == data_entry_flow.RESULT_TYPE_CREATE_ENTRY @@ -105,6 +106,7 @@ async def test_user(hass: HomeAssistantType, service: MagicMock): assert result["data"][CONF_SSL] == SSL assert result["data"][CONF_USERNAME] == USERNAME assert result["data"][CONF_PASSWORD] == PASSWORD + assert result["data"][CONF_API_VERSION] == 5 assert result["data"].get(CONF_DISKS) is None assert result["data"].get(CONF_VOLUMES) is None @@ -114,7 +116,6 @@ async def test_user(hass: HomeAssistantType, service: MagicMock): DOMAIN, context={"source": SOURCE_USER}, data={ - CONF_NAME: NAME, CONF_HOST: HOST, CONF_SSL: False, CONF_USERNAME: USERNAME, @@ -129,6 +130,7 @@ async def test_user(hass: HomeAssistantType, service: MagicMock): assert not result["data"][CONF_SSL] assert result["data"][CONF_USERNAME] == USERNAME assert result["data"][CONF_PASSWORD] == PASSWORD + assert result["data"][CONF_API_VERSION] == DEFAULT_DSM_VERSION assert result["data"].get(CONF_DISKS) is None assert result["data"].get(CONF_VOLUMES) is None @@ -149,6 +151,7 @@ async def test_import(hass: HomeAssistantType, service: MagicMock): assert result["data"][CONF_SSL] == DEFAULT_SSL assert result["data"][CONF_USERNAME] == USERNAME assert result["data"][CONF_PASSWORD] == PASSWORD + assert result["data"][CONF_API_VERSION] == DEFAULT_DSM_VERSION assert result["data"].get(CONF_DISKS) is None assert result["data"].get(CONF_VOLUMES) is None @@ -163,6 +166,7 @@ async def test_import(hass: HomeAssistantType, service: MagicMock): CONF_SSL: SSL, CONF_USERNAME: USERNAME, CONF_PASSWORD: PASSWORD, + CONF_API_VERSION: 5, CONF_DISKS: ["sda", "sdb", "sdc"], CONF_VOLUMES: ["volume_1"], }, @@ -175,6 +179,7 @@ async def test_import(hass: HomeAssistantType, service: MagicMock): assert result["data"][CONF_SSL] == SSL assert result["data"][CONF_USERNAME] == USERNAME assert result["data"][CONF_PASSWORD] == PASSWORD + assert result["data"][CONF_API_VERSION] == 5 assert result["data"][CONF_DISKS] == ["sda", "sdb", "sdc"] assert result["data"][CONF_VOLUMES] == ["volume_1"] @@ -246,16 +251,17 @@ async def test_form_ssdp(hass: HomeAssistantType, service: MagicMock): assert result["step_id"] == "link" assert result["errors"] == {} - result2 = await hass.config_entries.flow.async_configure( + result = await hass.config_entries.flow.async_configure( result["flow_id"], {CONF_USERNAME: USERNAME, CONF_PASSWORD: PASSWORD} ) - assert result2["type"] == data_entry_flow.RESULT_TYPE_CREATE_ENTRY - assert result2["title"] == "192.168.1.5" - assert result2["data"] == { - CONF_HOST: "192.168.1.5", - CONF_PORT: DEFAULT_PORT_SSL, - CONF_PASSWORD: PASSWORD, - CONF_SSL: DEFAULT_SSL, - CONF_USERNAME: USERNAME, - } + assert result["type"] == data_entry_flow.RESULT_TYPE_CREATE_ENTRY + assert result["title"] == "192.168.1.5" + assert result["data"][CONF_HOST] == "192.168.1.5" + assert result["data"][CONF_PORT] == 5001 + assert result["data"][CONF_SSL] == DEFAULT_SSL + assert result["data"][CONF_USERNAME] == USERNAME + assert result["data"][CONF_PASSWORD] == PASSWORD + assert result["data"][CONF_API_VERSION] == DEFAULT_DSM_VERSION + assert result["data"].get(CONF_DISKS) is None + assert result["data"].get(CONF_VOLUMES) is None