Cleanup duplicate code in Onewire tests (#58082)

Co-authored-by: epenet <epenet@users.noreply.github.com>
This commit is contained in:
epenet 2021-10-20 11:43:59 +02:00 committed by GitHub
parent 008b784fc5
commit dfd2501c2c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 80 additions and 156 deletions

View file

@ -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
)