async def test_restoring_clients(hass):
    """Test restoring existing device_tracker entities if not detected on startup."""
    entry = mock_config_entry()
    entry.add_to_hass(hass)

    registry = await entity_registry.async_get_registry(hass)
    registry.async_get_or_create(
        "device_tracker",
        DOMAIN,
        TEST_CLIENT[CONF_MAC],
        suggested_object_id="ruckus_test_device",
        config_entry=entry,
    )

    with patch(
            "homeassistant.components.ruckus_unleashed.Ruckus.connect",
            return_value=None,
    ), patch(
            "homeassistant.components.ruckus_unleashed.Ruckus.mesh_name",
            return_value=DEFAULT_TITLE,
    ), patch(
            "homeassistant.components.ruckus_unleashed.Ruckus.clients",
            return_value={},
    ):
        entry.add_to_hass(hass)
        await hass.config_entries.async_setup(entry.entry_id)
        await hass.async_block_till_done()

    device = hass.states.get(TEST_CLIENT_ENTITY_ID)
    assert device is not None
    assert device.state == STATE_NOT_HOME
async def test_setup_entry_connection_error(hass):
    """Test entry setup failed due to connection error."""
    entry = mock_config_entry()
    with patch(
            "homeassistant.components.ruckus_unleashed.Ruckus",
            side_effect=ConnectionError,
    ):
        entry.add_to_hass(hass)
        await hass.config_entries.async_setup(entry.entry_id)
        await hass.async_block_till_done()

    assert entry.state is ConfigEntryState.SETUP_RETRY
async def test_setup_entry_login_error(hass):
    """Test entry setup failed due to login error."""
    entry = mock_config_entry()
    with patch(
            "homeassistant.components.ruckus_unleashed.Ruckus",
            side_effect=AuthenticationError,
    ):
        entry.add_to_hass(hass)
        result = await hass.config_entries.async_setup(entry.entry_id)
        await hass.async_block_till_done()

    assert result is False
Esempio n. 4
0
async def test_setup_entry_login_error(opp):
    """Test entry setup failed due to login error."""
    entry = mock_config_entry()
    with patch(
        "openpeerpower.components.ruckus_unleashed.Ruckus",
        side_effect=AuthenticationError,
    ):
        entry.add_to_opp(opp)
        result = await opp.config_entries.async_setup(entry.entry_id)
        await opp.async_block_till_done()

    assert result is False
async def test_config_not_ready_during_setup(hass):
    """Test we throw a ConfigNotReady if Coordinator update fails."""
    entry = mock_config_entry()
    with patch(
            "homeassistant.components.ruckus_unleashed.Ruckus.connect",
            return_value=None,
    ), patch(
            "homeassistant.components.ruckus_unleashed.Ruckus.mesh_name",
            return_value=DEFAULT_TITLE,
    ), patch(
            "homeassistant.components.ruckus_unleashed.Ruckus.system_info",
            return_value=DEFAULT_SYSTEM_INFO,
    ), patch(
            "homeassistant.components.ruckus_unleashed.RuckusUnleashedDataUpdateCoordinator._async_update_data",
            side_effect=ConnectionError,
    ):
        entry.add_to_hass(hass)
        await hass.config_entries.async_setup(entry.entry_id)
        await hass.async_block_till_done()

    assert entry.state is ConfigEntryState.SETUP_RETRY
Esempio n. 6
0
async def test_restoring_clients(opp):
    """Test restoring existing device_tracker entities if not detected on startup."""
    entry = mock_config_entry()
    entry.add_to_opp(opp)

    registry = er.async_get(opp)
    registry.async_get_or_create(
        "device_tracker",
        DOMAIN,
        DEFAULT_UNIQUE_ID,
        suggested_object_id="ruckus_test_device",
        config_entry=entry,
    )

    with patch(
        "openpeerpower.components.ruckus_unleashed.Ruckus.connect",
        return_value=None,
    ), patch(
        "openpeerpower.components.ruckus_unleashed.Ruckus.mesh_name",
        return_value=DEFAULT_TITLE,
    ), patch(
        "openpeerpower.components.ruckus_unleashed.Ruckus.system_info",
        return_value=DEFAULT_SYSTEM_INFO,
    ), patch(
        "openpeerpower.components.ruckus_unleashed.Ruckus.ap_info",
        return_value=DEFAULT_AP_INFO,
    ), patch(
        "openpeerpower.components.ruckus_unleashed.RuckusUnleashedDataUpdateCoordinator._fetch_clients",
        return_value={},
    ):
        entry.add_to_opp(opp)
        await opp.config_entries.async_setup(entry.entry_id)
        await opp.async_block_till_done()

    device = opp.states.get(TEST_CLIENT_ENTITY_ID)
    assert device is not None
    assert device.state == STATE_NOT_HOME