Use real devices in alarm_control_panel device condition tests (#102703)

This commit is contained in:
Erik Montnemery 2023-10-24 23:27:29 +02:00 committed by GitHub
parent 56ee1753ec
commit 4d83cffb39
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -185,10 +185,21 @@ async def test_get_conditions_hidden_auxiliary(
async def test_if_state( async def test_if_state(
hass: HomeAssistant, entity_registry: er.EntityRegistry, calls: list[ServiceCall] hass: HomeAssistant,
device_registry: dr.DeviceRegistry,
entity_registry: er.EntityRegistry,
calls: list[ServiceCall],
) -> None: ) -> None:
"""Test for all conditions.""" """Test for all conditions."""
entry = entity_registry.async_get_or_create(DOMAIN, "test", "5678") config_entry = MockConfigEntry(domain="test", data={})
config_entry.add_to_hass(hass)
device_entry = device_registry.async_get_or_create(
config_entry_id=config_entry.entry_id,
connections={(dr.CONNECTION_NETWORK_MAC, "12:34:56:AB:CD:EF")},
)
entry = entity_registry.async_get_or_create(
DOMAIN, "test", "5678", device_id=device_entry.id
)
assert await async_setup_component( assert await async_setup_component(
hass, hass,
@ -201,7 +212,7 @@ async def test_if_state(
{ {
"condition": "device", "condition": "device",
"domain": DOMAIN, "domain": DOMAIN,
"device_id": "", "device_id": device_entry.id,
"entity_id": entry.id, "entity_id": entry.id,
"type": "is_triggered", "type": "is_triggered",
} }
@ -223,7 +234,7 @@ async def test_if_state(
{ {
"condition": "device", "condition": "device",
"domain": DOMAIN, "domain": DOMAIN,
"device_id": "", "device_id": device_entry.id,
"entity_id": entry.id, "entity_id": entry.id,
"type": "is_disarmed", "type": "is_disarmed",
} }
@ -245,7 +256,7 @@ async def test_if_state(
{ {
"condition": "device", "condition": "device",
"domain": DOMAIN, "domain": DOMAIN,
"device_id": "", "device_id": device_entry.id,
"entity_id": entry.id, "entity_id": entry.id,
"type": "is_armed_home", "type": "is_armed_home",
} }
@ -267,7 +278,7 @@ async def test_if_state(
{ {
"condition": "device", "condition": "device",
"domain": DOMAIN, "domain": DOMAIN,
"device_id": "", "device_id": device_entry.id,
"entity_id": entry.id, "entity_id": entry.id,
"type": "is_armed_away", "type": "is_armed_away",
} }
@ -289,7 +300,7 @@ async def test_if_state(
{ {
"condition": "device", "condition": "device",
"domain": DOMAIN, "domain": DOMAIN,
"device_id": "", "device_id": device_entry.id,
"entity_id": entry.id, "entity_id": entry.id,
"type": "is_armed_night", "type": "is_armed_night",
} }
@ -311,7 +322,7 @@ async def test_if_state(
{ {
"condition": "device", "condition": "device",
"domain": DOMAIN, "domain": DOMAIN,
"device_id": "", "device_id": device_entry.id,
"entity_id": entry.id, "entity_id": entry.id,
"type": "is_armed_vacation", "type": "is_armed_vacation",
} }
@ -333,7 +344,7 @@ async def test_if_state(
{ {
"condition": "device", "condition": "device",
"domain": DOMAIN, "domain": DOMAIN,
"device_id": "", "device_id": device_entry.id,
"entity_id": entry.id, "entity_id": entry.id,
"type": "is_armed_custom_bypass", "type": "is_armed_custom_bypass",
} }
@ -438,10 +449,21 @@ async def test_if_state(
async def test_if_state_legacy( async def test_if_state_legacy(
hass: HomeAssistant, entity_registry: er.EntityRegistry, calls: list[ServiceCall] hass: HomeAssistant,
device_registry: dr.DeviceRegistry,
entity_registry: er.EntityRegistry,
calls: list[ServiceCall],
) -> None: ) -> None:
"""Test for all conditions.""" """Test for all conditions."""
entry = entity_registry.async_get_or_create(DOMAIN, "test", "5678") config_entry = MockConfigEntry(domain="test", data={})
config_entry.add_to_hass(hass)
device_entry = device_registry.async_get_or_create(
config_entry_id=config_entry.entry_id,
connections={(dr.CONNECTION_NETWORK_MAC, "12:34:56:AB:CD:EF")},
)
entry = entity_registry.async_get_or_create(
DOMAIN, "test", "5678", device_id=device_entry.id
)
assert await async_setup_component( assert await async_setup_component(
hass, hass,
@ -454,7 +476,7 @@ async def test_if_state_legacy(
{ {
"condition": "device", "condition": "device",
"domain": DOMAIN, "domain": DOMAIN,
"device_id": "", "device_id": device_entry.id,
"entity_id": entry.entity_id, "entity_id": entry.entity_id,
"type": "is_triggered", "type": "is_triggered",
} }