Improve deCONZ tests by using aioclient_mock rather than patching web requests (#45927)
* Don't patch web requests, use aioclient_mock instead * Remove stale prints * Remove tests for old way of loading platforms * Remove unused imports
This commit is contained in:
parent
b33753f334
commit
20f45f8ab9
16 changed files with 700 additions and 857 deletions
|
@ -14,7 +14,6 @@ from homeassistant.components.deconz.const import (
|
|||
CONF_GROUP_ID_BASE,
|
||||
DOMAIN as DECONZ_DOMAIN,
|
||||
)
|
||||
from homeassistant.components.deconz.gateway import get_gateway_from_config_entry
|
||||
from homeassistant.components.light import DOMAIN as LIGHT_DOMAIN
|
||||
from homeassistant.const import CONF_API_KEY, CONF_HOST, CONF_PORT
|
||||
from homeassistant.helpers import entity_registry
|
||||
|
@ -58,59 +57,65 @@ async def test_setup_entry_no_available_bridge(hass):
|
|||
assert not hass.data[DECONZ_DOMAIN]
|
||||
|
||||
|
||||
async def test_setup_entry_successful(hass):
|
||||
async def test_setup_entry_successful(hass, aioclient_mock):
|
||||
"""Test setup entry is successful."""
|
||||
config_entry = await setup_deconz_integration(hass)
|
||||
gateway = get_gateway_from_config_entry(hass, config_entry)
|
||||
config_entry = await setup_deconz_integration(hass, aioclient_mock)
|
||||
|
||||
assert hass.data[DECONZ_DOMAIN]
|
||||
assert gateway.bridgeid in hass.data[DECONZ_DOMAIN]
|
||||
assert hass.data[DECONZ_DOMAIN][gateway.bridgeid].master
|
||||
assert config_entry.unique_id in hass.data[DECONZ_DOMAIN]
|
||||
assert hass.data[DECONZ_DOMAIN][config_entry.unique_id].master
|
||||
|
||||
|
||||
async def test_setup_entry_multiple_gateways(hass):
|
||||
async def test_setup_entry_multiple_gateways(hass, aioclient_mock):
|
||||
"""Test setup entry is successful with multiple gateways."""
|
||||
config_entry = await setup_deconz_integration(hass)
|
||||
gateway = get_gateway_from_config_entry(hass, config_entry)
|
||||
config_entry = await setup_deconz_integration(hass, aioclient_mock)
|
||||
aioclient_mock.clear_requests()
|
||||
|
||||
data = deepcopy(DECONZ_WEB_REQUEST)
|
||||
data["config"]["bridgeid"] = "01234E56789B"
|
||||
config_entry2 = await setup_deconz_integration(
|
||||
hass, get_state_response=data, entry_id="2", unique_id="01234E56789B"
|
||||
hass,
|
||||
aioclient_mock,
|
||||
get_state_response=data,
|
||||
entry_id="2",
|
||||
unique_id="01234E56789B",
|
||||
)
|
||||
gateway2 = get_gateway_from_config_entry(hass, config_entry2)
|
||||
|
||||
assert len(hass.data[DECONZ_DOMAIN]) == 2
|
||||
assert hass.data[DECONZ_DOMAIN][gateway.bridgeid].master
|
||||
assert not hass.data[DECONZ_DOMAIN][gateway2.bridgeid].master
|
||||
assert hass.data[DECONZ_DOMAIN][config_entry.unique_id].master
|
||||
assert not hass.data[DECONZ_DOMAIN][config_entry2.unique_id].master
|
||||
|
||||
|
||||
async def test_unload_entry(hass):
|
||||
async def test_unload_entry(hass, aioclient_mock):
|
||||
"""Test being able to unload an entry."""
|
||||
config_entry = await setup_deconz_integration(hass)
|
||||
config_entry = await setup_deconz_integration(hass, aioclient_mock)
|
||||
assert hass.data[DECONZ_DOMAIN]
|
||||
|
||||
assert await async_unload_entry(hass, config_entry)
|
||||
assert not hass.data[DECONZ_DOMAIN]
|
||||
|
||||
|
||||
async def test_unload_entry_multiple_gateways(hass):
|
||||
async def test_unload_entry_multiple_gateways(hass, aioclient_mock):
|
||||
"""Test being able to unload an entry and master gateway gets moved."""
|
||||
config_entry = await setup_deconz_integration(hass)
|
||||
config_entry = await setup_deconz_integration(hass, aioclient_mock)
|
||||
aioclient_mock.clear_requests()
|
||||
|
||||
data = deepcopy(DECONZ_WEB_REQUEST)
|
||||
data["config"]["bridgeid"] = "01234E56789B"
|
||||
config_entry2 = await setup_deconz_integration(
|
||||
hass, get_state_response=data, entry_id="2", unique_id="01234E56789B"
|
||||
hass,
|
||||
aioclient_mock,
|
||||
get_state_response=data,
|
||||
entry_id="2",
|
||||
unique_id="01234E56789B",
|
||||
)
|
||||
gateway2 = get_gateway_from_config_entry(hass, config_entry2)
|
||||
|
||||
assert len(hass.data[DECONZ_DOMAIN]) == 2
|
||||
|
||||
assert await async_unload_entry(hass, config_entry)
|
||||
|
||||
assert len(hass.data[DECONZ_DOMAIN]) == 1
|
||||
assert hass.data[DECONZ_DOMAIN][gateway2.bridgeid].master
|
||||
assert hass.data[DECONZ_DOMAIN][config_entry2.unique_id].master
|
||||
|
||||
|
||||
async def test_update_group_unique_id(hass):
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue