async def test_sign_out_unknown_error(hass, config_entry, controller, caplog):
    """Test the sign-out service."""
    await setup_component(hass, config_entry)
    controller.sign_out.side_effect = HeosError()

    await hass.services.async_call(DOMAIN, SERVICE_SIGN_OUT, {}, blocking=True)

    assert controller.sign_out.call_count == 1
    assert "Unable to sign out" in caplog.text
Пример #2
0
async def test_async_setup_entry_player_failure(hass, config_entry, controller):
    """Failure to retrieve players/sources raises ConfigEntryNotReady."""
    config_entry.add_to_hass(hass)
    controller.get_players.side_effect = HeosError()
    with pytest.raises(ConfigEntryNotReady):
        await async_setup_entry(hass, config_entry)
        await hass.async_block_till_done()
    assert controller.connect.call_count == 1
    assert controller.disconnect.call_count == 1
    controller.connect.reset_mock()
    controller.disconnect.reset_mock()
Пример #3
0
async def test_cannot_connect_shows_error_form(hass, controller):
    """Test form is shown with error when cannot connect."""
    controller.connect.side_effect = HeosError()
    result = await hass.config_entries.flow.async_init(
        heos.DOMAIN, context={"source": "user"}, data={CONF_HOST: "127.0.0.1"})
    assert result["type"] == data_entry_flow.RESULT_TYPE_FORM
    assert result["step_id"] == "user"
    assert result["errors"][CONF_HOST] == "cannot_connect"
    assert controller.connect.call_count == 1
    assert controller.disconnect.call_count == 1
    controller.connect.reset_mock()
    controller.disconnect.reset_mock()
Пример #4
0
async def test_async_setup_entry_connect_failure(opp, config_entry,
                                                 controller):
    """Connection failure raises ConfigEntryNotReady."""
    config_entry.add_to_opp(opp)
    controller.connect.side_effect = HeosError()
    with pytest.raises(ConfigEntryNotReady):
        await async_setup_entry(opp, config_entry)
        await opp.async_block_till_done()
    assert controller.connect.call_count == 1
    assert controller.disconnect.call_count == 1
    controller.connect.reset_mock()
    controller.disconnect.reset_mock()
Пример #5
0
async def test_cannot_connect_shows_error_form(hass, controller):
    """Test form is shown with error when cannot connect."""
    flow = HeosFlowHandler()
    flow.hass = hass
    controller.connect.side_effect = HeosError()
    result = await flow.async_step_user({CONF_HOST: "127.0.0.1"})
    assert result["type"] == data_entry_flow.RESULT_TYPE_FORM
    assert result["step_id"] == "user"
    assert result["errors"][CONF_HOST] == "connection_failure"
    assert controller.connect.call_count == 1
    assert controller.disconnect.call_count == 1
    controller.connect.reset_mock()
    controller.disconnect.reset_mock()
async def test_sign_in_unknown_error(hass, config_entry, controller, caplog):
    """Test sign-in service logs error for failure."""
    await setup_component(hass, config_entry)
    controller.sign_in.side_effect = HeosError()

    await hass.services.async_call(
        DOMAIN,
        SERVICE_SIGN_IN,
        {
            ATTR_USERNAME: "******",
            ATTR_PASSWORD: "******"
        },
        blocking=True,
    )

    controller.sign_in.assert_called_once_with("*****@*****.**", "password")
    assert "Unable to sign in" in caplog.text