Fix exception countries migration for Alexa Devices (#151292)

This commit is contained in:
Simone Chemelli
2025-08-28 11:57:32 +02:00
committed by GitHub
parent 12978092f7
commit 08a850cfc7
4 changed files with 13 additions and 17 deletions

View File

@@ -48,7 +48,7 @@ async def async_migrate_entry(hass: HomeAssistant, entry: AmazonConfigEntry) ->
)
# Convert country in domain
country = entry.data[CONF_COUNTRY]
country = entry.data[CONF_COUNTRY].lower()
domain = COUNTRY_DOMAINS.get(country, country)
# Add site to login data

View File

@@ -7,21 +7,21 @@ _LOGGER = logging.getLogger(__package__)
DOMAIN = "alexa_devices"
CONF_LOGIN_DATA = "login_data"
DEFAULT_DOMAIN = {"domain": "com"}
DEFAULT_DOMAIN = "com"
COUNTRY_DOMAINS = {
"ar": DEFAULT_DOMAIN,
"at": DEFAULT_DOMAIN,
"au": {"domain": "com.au"},
"be": {"domain": "com.be"},
"au": "com.au",
"be": "com.be",
"br": DEFAULT_DOMAIN,
"gb": {"domain": "co.uk"},
"gb": "co.uk",
"il": DEFAULT_DOMAIN,
"jp": {"domain": "co.jp"},
"mx": {"domain": "com.mx"},
"jp": "co.jp",
"mx": "com.mx",
"no": DEFAULT_DOMAIN,
"nz": {"domain": "com.au"},
"nz": "com.au",
"pl": DEFAULT_DOMAIN,
"tr": {"domain": "com.tr"},
"tr": "com.tr",
"us": DEFAULT_DOMAIN,
"za": {"domain": "co.za"},
"za": "co.za",
}

View File

@@ -1,7 +1,6 @@
"""Alexa Devices tests const."""
TEST_CODE = "023123"
TEST_COUNTRY = "IT"
TEST_PASSWORD = "fake_password"
TEST_SERIAL_NUMBER = "echo_test_serial_number"
TEST_USERNAME = "fake_email@gmail.com"

View File

@@ -11,7 +11,7 @@ from homeassistant.core import HomeAssistant
from homeassistant.helpers import device_registry as dr
from . import setup_integration
from .const import TEST_COUNTRY, TEST_PASSWORD, TEST_SERIAL_NUMBER, TEST_USERNAME
from .const import TEST_PASSWORD, TEST_SERIAL_NUMBER, TEST_USERNAME
from tests.common import MockConfigEntry
@@ -42,7 +42,7 @@ async def test_migrate_entry(
domain=DOMAIN,
title="Amazon Test Account",
data={
CONF_COUNTRY: TEST_COUNTRY,
CONF_COUNTRY: "US", # country should be in COUNTRY_DOMAINS exceptions
CONF_USERNAME: TEST_USERNAME,
CONF_PASSWORD: TEST_PASSWORD,
CONF_LOGIN_DATA: {"session": "test-session"},
@@ -58,7 +58,4 @@ async def test_migrate_entry(
assert len(hass.config_entries.async_entries(DOMAIN)) == 1
assert config_entry.state is ConfigEntryState.LOADED
assert config_entry.minor_version == 2
assert (
config_entry.data[CONF_LOGIN_DATA]["site"]
== f"https://www.amazon.{TEST_COUNTRY}"
)
assert config_entry.data[CONF_LOGIN_DATA]["site"] == "https://www.amazon.com"