Use entity & device registry mocks instead of `hass.helpers` in airthings_ble tests (#114520)

pull/110582/head
Jan-Philipp Benecke 2024-03-31 09:08:07 +02:00 committed by GitHub
parent 5038a035bd
commit 6e3e09f2c3
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 28 additions and 25 deletions

View File

@ -12,7 +12,8 @@ from airthings_ble import (
from homeassistant.components.airthings_ble.const import DOMAIN
from homeassistant.components.bluetooth.models import BluetoothServiceInfoBleak
from homeassistant.helpers.device_registry import CONNECTION_BLUETOOTH
from homeassistant.config_entries import ConfigEntry
from homeassistant.helpers.device_registry import CONNECTION_BLUETOOTH, DeviceRegistry
from tests.common import MockConfigEntry, MockEntity
from tests.components.bluetooth import generate_advertisement_data, generate_ble_device
@ -232,9 +233,8 @@ def create_entry(hass):
return entry
def create_device(hass, entry):
def create_device(entry: ConfigEntry, device_registry: DeviceRegistry):
"""Create a device for the given entry."""
device_registry = hass.helpers.device_registry.async_get(hass)
device = device_registry.async_get_or_create(
config_entry_id=entry.entry_id,
connections={(CONNECTION_BLUETOOTH, WAVE_SERVICE_INFO.address)},

View File

@ -5,6 +5,7 @@ import logging
from homeassistant.components.airthings_ble.const import DOMAIN
from homeassistant.const import Platform
from homeassistant.core import HomeAssistant
from homeassistant.helpers import device_registry as dr, entity_registry as er
from tests.components.airthings_ble import (
CO2_V1,
@ -25,18 +26,20 @@ from tests.components.bluetooth import inject_bluetooth_service_info
_LOGGER = logging.getLogger(__name__)
async def test_migration_from_v1_to_v3_unique_id(hass: HomeAssistant):
async def test_migration_from_v1_to_v3_unique_id(
hass: HomeAssistant,
entity_registry: er.EntityRegistry,
device_registry: dr.DeviceRegistry,
):
"""Verify that we can migrate from v1 (pre 2023.9.0) to the latest unique id format."""
entry = create_entry(hass)
device = create_device(hass, entry)
device = create_device(entry, device_registry)
assert entry is not None
assert device is not None
new_unique_id = f"{WAVE_DEVICE_INFO.address}_temperature"
entity_registry = hass.helpers.entity_registry.async_get(hass)
sensor = entity_registry.async_get_or_create(
domain=DOMAIN,
platform=Platform.SENSOR,
@ -64,18 +67,18 @@ async def test_migration_from_v1_to_v3_unique_id(hass: HomeAssistant):
assert entity_registry.async_get(sensor.entity_id).unique_id == new_unique_id
async def test_migration_from_v2_to_v3_unique_id(hass: HomeAssistant):
async def test_migration_from_v2_to_v3_unique_id(
hass: HomeAssistant,
entity_registry: er.EntityRegistry,
device_registry: dr.DeviceRegistry,
):
"""Verify that we can migrate from v2 (introduced in 2023.9.0) to the latest unique id format."""
entry = create_entry(hass)
device = create_device(hass, entry)
device = create_device(entry, device_registry)
assert entry is not None
assert device is not None
entity_registry = hass.helpers.entity_registry.async_get(hass)
await hass.async_block_till_done()
sensor = entity_registry.async_get_or_create(
domain=DOMAIN,
platform=Platform.SENSOR,
@ -105,18 +108,18 @@ async def test_migration_from_v2_to_v3_unique_id(hass: HomeAssistant):
assert entity_registry.async_get(sensor.entity_id).unique_id == new_unique_id
async def test_migration_from_v1_and_v2_to_v3_unique_id(hass: HomeAssistant):
async def test_migration_from_v1_and_v2_to_v3_unique_id(
hass: HomeAssistant,
entity_registry: er.EntityRegistry,
device_registry: dr.DeviceRegistry,
):
"""Test if migration works when we have both v1 (pre 2023.9.0) and v2 (introduced in 2023.9.0) unique ids."""
entry = create_entry(hass)
device = create_device(hass, entry)
device = create_device(entry, device_registry)
assert entry is not None
assert device is not None
entity_registry = hass.helpers.entity_registry.async_get(hass)
await hass.async_block_till_done()
v2 = entity_registry.async_get_or_create(
domain=DOMAIN,
platform=Platform.SENSOR,
@ -155,18 +158,18 @@ async def test_migration_from_v1_and_v2_to_v3_unique_id(hass: HomeAssistant):
assert entity_registry.async_get(v2.entity_id).unique_id == CO2_V2.unique_id
async def test_migration_with_all_unique_ids(hass: HomeAssistant):
async def test_migration_with_all_unique_ids(
hass: HomeAssistant,
entity_registry: er.EntityRegistry,
device_registry: dr.DeviceRegistry,
):
"""Test if migration works when we have all unique ids."""
entry = create_entry(hass)
device = create_device(hass, entry)
device = create_device(entry, device_registry)
assert entry is not None
assert device is not None
entity_registry = hass.helpers.entity_registry.async_get(hass)
await hass.async_block_till_done()
v1 = entity_registry.async_get_or_create(
domain=DOMAIN,
platform=Platform.SENSOR,