66 lines
1.9 KiB
Python
66 lines
1.9 KiB
Python
"""Tests for init methods."""
|
|
|
|
from homeassistant.components.kulersky.const import DOMAIN
|
|
from homeassistant.config_entries import ConfigEntryState
|
|
from homeassistant.const import CONF_ADDRESS
|
|
from homeassistant.core import HomeAssistant
|
|
from homeassistant.helpers import device_registry as dr
|
|
|
|
from tests.common import MockConfigEntry
|
|
|
|
|
|
async def test_migrate_entry(
|
|
hass: HomeAssistant,
|
|
) -> None:
|
|
"""Test migrate config entry from v1 to v2."""
|
|
|
|
mock_config_entry_v1 = MockConfigEntry(
|
|
version=1,
|
|
domain=DOMAIN,
|
|
title="KulerSky",
|
|
)
|
|
|
|
mock_config_entry_v1.add_to_hass(hass)
|
|
|
|
dev_reg = dr.async_get(hass)
|
|
# Create device registry entries for old integration
|
|
dev_reg.async_get_or_create(
|
|
config_entry_id=mock_config_entry_v1.entry_id,
|
|
identifiers={(DOMAIN, "AA:BB:CC:11:22:33")},
|
|
name="KuLight 1",
|
|
)
|
|
dev_reg.async_get_or_create(
|
|
config_entry_id=mock_config_entry_v1.entry_id,
|
|
identifiers={(DOMAIN, "AA:BB:CC:44:55:66")},
|
|
name="KuLight 2",
|
|
)
|
|
await hass.config_entries.async_setup(mock_config_entry_v1.entry_id)
|
|
await hass.async_block_till_done()
|
|
|
|
assert mock_config_entry_v1.state is ConfigEntryState.SETUP_RETRY
|
|
assert mock_config_entry_v1.version == 2
|
|
assert mock_config_entry_v1.unique_id == "AA:BB:CC:11:22:33"
|
|
assert mock_config_entry_v1.data == {
|
|
CONF_ADDRESS: "AA:BB:CC:11:22:33",
|
|
}
|
|
|
|
|
|
async def test_migrate_entry_no_devices_found(
|
|
hass: HomeAssistant,
|
|
) -> None:
|
|
"""Test migrate config entry from v1 to v2."""
|
|
|
|
mock_config_entry_v1 = MockConfigEntry(
|
|
version=1,
|
|
domain=DOMAIN,
|
|
title="KulerSky",
|
|
)
|
|
|
|
mock_config_entry_v1.add_to_hass(hass)
|
|
|
|
await hass.config_entries.async_setup(mock_config_entry_v1.entry_id)
|
|
await hass.async_block_till_done()
|
|
|
|
assert mock_config_entry_v1.state is ConfigEntryState.MIGRATION_ERROR
|
|
assert mock_config_entry_v1.version == 1
|