Add SharkIQ EU region support (#89349)

* SharkIQ Dep & Codeowner Update

* Update code owners

* Add EU Region Support

* Update Config Flow Tests

* Standardize Region Comparison Strings

* Add Translation Support to Region Selector

* Fix Validation Tests
This commit is contained in:
Mark Adkins
2023-03-28 08:48:32 +02:00
committed by GitHub
parent db6f0827aa
commit 38f3b9f165
6 changed files with 80 additions and 18 deletions
+7 -2
View File
@@ -1,6 +1,6 @@
"""Constants used in shark iq tests."""
from homeassistant.const import CONF_PASSWORD, CONF_USERNAME
from homeassistant.const import CONF_PASSWORD, CONF_REGION, CONF_USERNAME
# Dummy device dict of the form returned by AylaApi.list_devices()
SHARK_DEVICE_DICT = {
@@ -69,6 +69,11 @@ SHARK_PROPERTIES_DICT = {
TEST_USERNAME = "test-username"
TEST_PASSWORD = "test-password"
TEST_REGION = "elsewhere"
UNIQUE_ID = "foo@bar.com"
CONFIG = {CONF_USERNAME: TEST_USERNAME, CONF_PASSWORD: TEST_PASSWORD}
CONFIG = {
CONF_USERNAME: TEST_USERNAME,
CONF_PASSWORD: TEST_PASSWORD,
CONF_REGION: TEST_REGION,
}
ENTRY_ID = "0123456789abcdef0123456789abcdef"
+7 -4
View File
@@ -3,13 +3,13 @@ from unittest.mock import patch
import aiohttp
import pytest
from sharkiq import AylaApi, SharkIqAuthError
from sharkiq import AylaApi, SharkIqAuthError, SharkIqError
from homeassistant import config_entries
from homeassistant.components.sharkiq.const import DOMAIN
from homeassistant.core import HomeAssistant
from .const import CONFIG, TEST_PASSWORD, TEST_USERNAME, UNIQUE_ID
from .const import CONFIG, TEST_PASSWORD, TEST_REGION, TEST_USERNAME, UNIQUE_ID
from tests.common import MockConfigEntry
@@ -37,6 +37,7 @@ async def test_form(hass: HomeAssistant) -> None:
assert result2["data"] == {
"username": TEST_USERNAME,
"password": TEST_PASSWORD,
"region": TEST_REGION,
}
await hass.async_block_till_done()
mock_setup_entry.assert_called_once()
@@ -47,7 +48,8 @@ async def test_form(hass: HomeAssistant) -> None:
[
(SharkIqAuthError, "invalid_auth"),
(aiohttp.ClientError, "cannot_connect"),
(TypeError, "unknown"),
(TypeError, "cannot_connect"),
(SharkIqError, "unknown"),
],
)
async def test_form_error(hass: HomeAssistant, exc: Exception, base_error: str) -> None:
@@ -87,7 +89,8 @@ async def test_reauth_success(hass: HomeAssistant) -> None:
[
(SharkIqAuthError, "form", "errors", "invalid_auth"),
(aiohttp.ClientError, "abort", "reason", "cannot_connect"),
(TypeError, "abort", "reason", "unknown"),
(TypeError, "abort", "reason", "cannot_connect"),
(SharkIqError, "abort", "reason", "unknown"),
],
)
async def test_reauth(