Fix QNAP QSW DHCP discover bugs (#74291)

qnqp_qsw: fix DHCP discover bugs

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
pull/74522/head
Álvaro Fernández Rojas 2022-07-01 11:52:46 +02:00 committed by Paulus Schoutsen
parent 4817f9f905
commit 877803169b
4 changed files with 17 additions and 3 deletions

View File

@ -113,9 +113,10 @@ class ConfigFlow(config_entries.ConfigFlow, domain=DOMAIN):
except LoginError:
errors[CONF_PASSWORD] = "invalid_auth"
except QswError:
errors[CONF_URL] = "cannot_connect"
errors["base"] = "cannot_connect"
else:
title = f"QNAP {system_board.get_product()} {self._discovered_mac}"
user_input[CONF_URL] = self._discovered_url
return self.async_create_entry(title=title, data=user_input)
return self.async_show_form(

View File

@ -9,6 +9,12 @@
"invalid_auth": "[%key:common::config_flow::error::invalid_auth%]"
},
"step": {
"discovered_connection": {
"data": {
"username": "[%key:common::config_flow::data::username%]",
"password": "[%key:common::config_flow::data::password%]"
}
},
"user": {
"data": {
"url": "[%key:common::config_flow::data::url%]",

View File

@ -9,6 +9,12 @@
"invalid_auth": "Invalid authentication"
},
"step": {
"discovered_connection": {
"data": {
"password": "Password",
"username": "Username"
}
},
"user": {
"data": {
"password": "Password",

View File

@ -24,7 +24,7 @@ DHCP_SERVICE_INFO = dhcp.DhcpServiceInfo(
)
TEST_PASSWORD = "test-password"
TEST_URL = "test-url"
TEST_URL = f"http://{DHCP_SERVICE_INFO.ip}"
TEST_USERNAME = "test-username"
@ -187,6 +187,7 @@ async def test_dhcp_flow(hass: HomeAssistant) -> None:
assert result2["data"] == {
CONF_USERNAME: TEST_USERNAME,
CONF_PASSWORD: TEST_PASSWORD,
CONF_URL: TEST_URL,
}
assert len(mock_setup_entry.mock_calls) == 1
@ -237,7 +238,7 @@ async def test_dhcp_connection_error(hass: HomeAssistant):
},
)
assert result["errors"] == {CONF_URL: "cannot_connect"}
assert result["errors"] == {"base": "cannot_connect"}
async def test_dhcp_login_error(hass: HomeAssistant):