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
parent
4817f9f905
commit
877803169b
|
@ -113,9 +113,10 @@ class ConfigFlow(config_entries.ConfigFlow, domain=DOMAIN):
|
||||||
except LoginError:
|
except LoginError:
|
||||||
errors[CONF_PASSWORD] = "invalid_auth"
|
errors[CONF_PASSWORD] = "invalid_auth"
|
||||||
except QswError:
|
except QswError:
|
||||||
errors[CONF_URL] = "cannot_connect"
|
errors["base"] = "cannot_connect"
|
||||||
else:
|
else:
|
||||||
title = f"QNAP {system_board.get_product()} {self._discovered_mac}"
|
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_create_entry(title=title, data=user_input)
|
||||||
|
|
||||||
return self.async_show_form(
|
return self.async_show_form(
|
||||||
|
|
|
@ -9,6 +9,12 @@
|
||||||
"invalid_auth": "[%key:common::config_flow::error::invalid_auth%]"
|
"invalid_auth": "[%key:common::config_flow::error::invalid_auth%]"
|
||||||
},
|
},
|
||||||
"step": {
|
"step": {
|
||||||
|
"discovered_connection": {
|
||||||
|
"data": {
|
||||||
|
"username": "[%key:common::config_flow::data::username%]",
|
||||||
|
"password": "[%key:common::config_flow::data::password%]"
|
||||||
|
}
|
||||||
|
},
|
||||||
"user": {
|
"user": {
|
||||||
"data": {
|
"data": {
|
||||||
"url": "[%key:common::config_flow::data::url%]",
|
"url": "[%key:common::config_flow::data::url%]",
|
||||||
|
|
|
@ -9,6 +9,12 @@
|
||||||
"invalid_auth": "Invalid authentication"
|
"invalid_auth": "Invalid authentication"
|
||||||
},
|
},
|
||||||
"step": {
|
"step": {
|
||||||
|
"discovered_connection": {
|
||||||
|
"data": {
|
||||||
|
"password": "Password",
|
||||||
|
"username": "Username"
|
||||||
|
}
|
||||||
|
},
|
||||||
"user": {
|
"user": {
|
||||||
"data": {
|
"data": {
|
||||||
"password": "Password",
|
"password": "Password",
|
||||||
|
|
|
@ -24,7 +24,7 @@ DHCP_SERVICE_INFO = dhcp.DhcpServiceInfo(
|
||||||
)
|
)
|
||||||
|
|
||||||
TEST_PASSWORD = "test-password"
|
TEST_PASSWORD = "test-password"
|
||||||
TEST_URL = "test-url"
|
TEST_URL = f"http://{DHCP_SERVICE_INFO.ip}"
|
||||||
TEST_USERNAME = "test-username"
|
TEST_USERNAME = "test-username"
|
||||||
|
|
||||||
|
|
||||||
|
@ -187,6 +187,7 @@ async def test_dhcp_flow(hass: HomeAssistant) -> None:
|
||||||
assert result2["data"] == {
|
assert result2["data"] == {
|
||||||
CONF_USERNAME: TEST_USERNAME,
|
CONF_USERNAME: TEST_USERNAME,
|
||||||
CONF_PASSWORD: TEST_PASSWORD,
|
CONF_PASSWORD: TEST_PASSWORD,
|
||||||
|
CONF_URL: TEST_URL,
|
||||||
}
|
}
|
||||||
|
|
||||||
assert len(mock_setup_entry.mock_calls) == 1
|
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):
|
async def test_dhcp_login_error(hass: HomeAssistant):
|
||||||
|
|
Loading…
Reference in New Issue