Catch unknown user exception in Overkiz integration (#76693)

This commit is contained in:
Mick Vleeshouwer 2022-08-31 21:16:00 +02:00 committed by GitHub
parent 083e902dc0
commit c98ee412c0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 9 additions and 2 deletions

View File

@ -12,6 +12,7 @@ from pyoverkiz.exceptions import (
MaintenanceException,
TooManyAttemptsBannedException,
TooManyRequestsException,
UnknownUserException,
)
from pyoverkiz.models import obfuscate_id
import voluptuous as vol
@ -83,6 +84,8 @@ class ConfigFlow(config_entries.ConfigFlow, domain=DOMAIN):
errors["base"] = "server_in_maintenance"
except TooManyAttemptsBannedException:
errors["base"] = "too_many_attempts"
except UnknownUserException:
errors["base"] = "unknown_user"
except Exception as exception: # pylint: disable=broad-except
errors["base"] = "unknown"
LOGGER.exception(exception)

View File

@ -18,7 +18,8 @@
"server_in_maintenance": "Server is down for maintenance",
"too_many_attempts": "Too many attempts with an invalid token, temporarily banned",
"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": {
"already_configured": "[%key:common::config_flow::abort::already_configured_account%]",

View File

@ -11,7 +11,8 @@
"server_in_maintenance": "Server is down for maintenance",
"too_many_attempts": "Too many attempts with an invalid token, temporarily banned",
"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}",
"step": {

View File

@ -9,6 +9,7 @@ from pyoverkiz.exceptions import (
MaintenanceException,
TooManyAttemptsBannedException,
TooManyRequestsException,
UnknownUserException,
)
import pytest
@ -88,6 +89,7 @@ async def test_form(hass: HomeAssistant) -> None:
(ClientError, "cannot_connect"),
(MaintenanceException, "server_in_maintenance"),
(TooManyAttemptsBannedException, "too_many_attempts"),
(UnknownUserException, "unknown_user"),
(Exception, "unknown"),
],
)