Cleanup duplicate code in Onewire tests (#58082)
Co-authored-by: epenet <epenet@users.noreply.github.com>
This commit is contained in:
parent
008b784fc5
commit
dfd2501c2c
5 changed files with 80 additions and 156 deletions
|
@ -14,13 +14,12 @@ from homeassistant.const import (
|
|||
)
|
||||
from homeassistant.core import HomeAssistant
|
||||
|
||||
from . import setup_owproxy_mock_devices
|
||||
from .const import (
|
||||
ATTR_DEFAULT_DISABLED,
|
||||
ATTR_DEVICE_FILE,
|
||||
ATTR_UNIQUE_ID,
|
||||
MOCK_OWPROXY_DEVICES,
|
||||
from . import (
|
||||
check_and_enable_disabled_entities,
|
||||
check_entities,
|
||||
setup_owproxy_mock_devices,
|
||||
)
|
||||
from .const import MOCK_OWPROXY_DEVICES
|
||||
|
||||
from tests.common import mock_registry
|
||||
|
||||
|
@ -50,31 +49,22 @@ async def test_owserver_switch(
|
|||
|
||||
assert len(entity_registry.entities) == len(expected_entities)
|
||||
|
||||
# Ensure all entities are enabled
|
||||
for expected_entity in expected_entities:
|
||||
if expected_entity.get(ATTR_DEFAULT_DISABLED):
|
||||
entity_id = expected_entity[ATTR_ENTITY_ID]
|
||||
registry_entry = entity_registry.entities.get(entity_id)
|
||||
assert registry_entry.disabled
|
||||
assert registry_entry.disabled_by == "integration"
|
||||
entity_registry.async_update_entity(entity_id, **{"disabled_by": None})
|
||||
check_and_enable_disabled_entities(entity_registry, expected_entities)
|
||||
|
||||
setup_owproxy_mock_devices(owproxy, SWITCH_DOMAIN, [device_id])
|
||||
await hass.config_entries.async_reload(config_entry.entry_id)
|
||||
await hass.async_block_till_done()
|
||||
|
||||
check_entities(hass, entity_registry, expected_entities)
|
||||
|
||||
# Test TOGGLE service
|
||||
for expected_entity in expected_entities:
|
||||
entity_id = expected_entity[ATTR_ENTITY_ID]
|
||||
registry_entry = entity_registry.entities.get(entity_id)
|
||||
assert registry_entry is not None
|
||||
assert registry_entry.unique_id == expected_entity[ATTR_UNIQUE_ID]
|
||||
state = hass.states.get(entity_id)
|
||||
assert state.state == expected_entity[ATTR_STATE]
|
||||
|
||||
if state.state == STATE_ON:
|
||||
if expected_entity[ATTR_STATE] == STATE_ON:
|
||||
owproxy.return_value.read.side_effect = [b" 0"]
|
||||
expected_entity[ATTR_STATE] = STATE_OFF
|
||||
elif state.state == STATE_OFF:
|
||||
elif expected_entity[ATTR_STATE] == STATE_OFF:
|
||||
owproxy.return_value.read.side_effect = [b" 1"]
|
||||
expected_entity[ATTR_STATE] = STATE_ON
|
||||
|
||||
|
@ -88,6 +78,3 @@ async def test_owserver_switch(
|
|||
|
||||
state = hass.states.get(entity_id)
|
||||
assert state.state == expected_entity[ATTR_STATE]
|
||||
assert state.attributes[ATTR_DEVICE_FILE] == expected_entity.get(
|
||||
ATTR_DEVICE_FILE, registry_entry.unique_id
|
||||
)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue