Skip to content
Snippets Groups Projects
Unverified Commit c98ee412 authored by Mick Vleeshouwer's avatar Mick Vleeshouwer Committed by GitHub
Browse files

Catch unknown user exception in Overkiz integration (#76693)

parent 083e902d
No related branches found
No related tags found
No related merge requests found
...@@ -12,6 +12,7 @@ from pyoverkiz.exceptions import ( ...@@ -12,6 +12,7 @@ from pyoverkiz.exceptions import (
MaintenanceException, MaintenanceException,
TooManyAttemptsBannedException, TooManyAttemptsBannedException,
TooManyRequestsException, TooManyRequestsException,
UnknownUserException,
) )
from pyoverkiz.models import obfuscate_id from pyoverkiz.models import obfuscate_id
import voluptuous as vol import voluptuous as vol
...@@ -83,6 +84,8 @@ class ConfigFlow(config_entries.ConfigFlow, domain=DOMAIN): ...@@ -83,6 +84,8 @@ class ConfigFlow(config_entries.ConfigFlow, domain=DOMAIN):
errors["base"] = "server_in_maintenance" errors["base"] = "server_in_maintenance"
except TooManyAttemptsBannedException: except TooManyAttemptsBannedException:
errors["base"] = "too_many_attempts" errors["base"] = "too_many_attempts"
except UnknownUserException:
errors["base"] = "unknown_user"
except Exception as exception: # pylint: disable=broad-except except Exception as exception: # pylint: disable=broad-except
errors["base"] = "unknown" errors["base"] = "unknown"
LOGGER.exception(exception) LOGGER.exception(exception)
......
...@@ -18,7 +18,8 @@ ...@@ -18,7 +18,8 @@
"server_in_maintenance": "Server is down for maintenance", "server_in_maintenance": "Server is down for maintenance",
"too_many_attempts": "Too many attempts with an invalid token, temporarily banned", "too_many_attempts": "Too many attempts with an invalid token, temporarily banned",
"too_many_requests": "Too many requests, try again later", "too_many_requests": "Too many requests, try again later",
"unknown": "[%key:common::config_flow::error::unknown%]" "unknown": "[%key:common::config_flow::error::unknown%]",
"unknown_user": "Unknown user. Somfy Protect accounts are not supported by this integration."
}, },
"abort": { "abort": {
"already_configured": "[%key:common::config_flow::abort::already_configured_account%]", "already_configured": "[%key:common::config_flow::abort::already_configured_account%]",
......
...@@ -11,7 +11,8 @@ ...@@ -11,7 +11,8 @@
"server_in_maintenance": "Server is down for maintenance", "server_in_maintenance": "Server is down for maintenance",
"too_many_attempts": "Too many attempts with an invalid token, temporarily banned", "too_many_attempts": "Too many attempts with an invalid token, temporarily banned",
"too_many_requests": "Too many requests, try again later", "too_many_requests": "Too many requests, try again later",
"unknown": "Unexpected error" "unknown": "Unexpected error",
"unknown_user": "Unknown user. Somfy Protect accounts are not supported by this integration."
}, },
"flow_title": "Gateway: {gateway_id}", "flow_title": "Gateway: {gateway_id}",
"step": { "step": {
......
...@@ -9,6 +9,7 @@ from pyoverkiz.exceptions import ( ...@@ -9,6 +9,7 @@ from pyoverkiz.exceptions import (
MaintenanceException, MaintenanceException,
TooManyAttemptsBannedException, TooManyAttemptsBannedException,
TooManyRequestsException, TooManyRequestsException,
UnknownUserException,
) )
import pytest import pytest
...@@ -88,6 +89,7 @@ async def test_form(hass: HomeAssistant) -> None: ...@@ -88,6 +89,7 @@ async def test_form(hass: HomeAssistant) -> None:
(ClientError, "cannot_connect"), (ClientError, "cannot_connect"),
(MaintenanceException, "server_in_maintenance"), (MaintenanceException, "server_in_maintenance"),
(TooManyAttemptsBannedException, "too_many_attempts"), (TooManyAttemptsBannedException, "too_many_attempts"),
(UnknownUserException, "unknown_user"),
(Exception, "unknown"), (Exception, "unknown"),
], ],
) )
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment