Files
core/tests/components/firefly_iii/test_init.py
Erwin Douna 85f3b5ce78 Firefly III add re-auth flow (#153303)
Co-authored-by: Josef Zweck <josef@zweck.dev>
2025-10-02 12:15:10 +02:00

39 lines
1.1 KiB
Python

"""Tests for the Firefly III integration."""
from unittest.mock import AsyncMock
from pyfirefly.exceptions import (
FireflyAuthenticationError,
FireflyConnectionError,
FireflyTimeoutError,
)
import pytest
from homeassistant.config_entries import ConfigEntryState
from homeassistant.core import HomeAssistant
from . import setup_integration
from tests.common import MockConfigEntry
@pytest.mark.parametrize(
("exception", "expected_state"),
[
(FireflyAuthenticationError("bad creds"), ConfigEntryState.SETUP_ERROR),
(FireflyConnectionError("cannot connect"), ConfigEntryState.SETUP_RETRY),
(FireflyTimeoutError("timeout"), ConfigEntryState.SETUP_RETRY),
],
)
async def test_setup_exceptions(
hass: HomeAssistant,
mock_firefly_client: AsyncMock,
mock_config_entry: MockConfigEntry,
exception: Exception,
expected_state: ConfigEntryState,
) -> None:
"""Test the _async_setup."""
mock_firefly_client.get_about.side_effect = exception
await setup_integration(hass, mock_config_entry)
assert mock_config_entry.state == expected_state