Files
fgl-aircon/tests/components/fglair/conftest.py
T
petr.polezhaev da01c607a6 ha(H2): исправления по ревью — несколько устройств, suggested values, YAML-import, типы ошибок
- critical: listen_port по умолчанию 0 (эфемерный) — несколько ConfigEntry
  не конфликтуют; тест двух записей на дефолтном порту
- manifest: добавлен обязательный ключ codeowners
- unload: set_log_handler(None) вынесен в executor (не блокирует loop);
  рефкаунт лог-пампа без гонки (старт после успешного setup)
- config flow: возврат введённого в форму при ошибке
  (add_suggested_values_to_schema; секреты исключены), YAML-import подключён
  через async_setup + SOURCE_IMPORT, ProvisionError.kind вместо разбора
  русского текста, валидация device_port/key_id из JSON
- trial: требует получения всех базовых свойств шаблона (не пустой ok),
  безопасное создание Session
- py-ci.sh: отсутствие .venv-ha — ошибка (PY_CI_SKIP_HA=1 для пропуска);
  pytest.ini testpaths
2026-09-29 12:20:37 +03:00

39 lines
900 B
Python

"""Фикстуры тестов HA-компонента fglair."""
from __future__ import annotations
import pytest
from helpers import DSN, KEY_ID, LANIP_KEY
from pytest_homeassistant_custom_component.common import MockConfigEntry
from custom_components.fglair.const import (
CONF_DEVICE_PORT,
CONF_DSN,
CONF_HOST,
CONF_LANIP_KEY,
CONF_LANIP_KEY_ID,
CONF_TEMPLATE,
DOMAIN,
)
@pytest.fixture(autouse=True)
def auto_enable_custom_integrations(enable_custom_integrations):
yield
@pytest.fixture
def entry_data() -> dict:
return {
CONF_HOST: "127.0.0.1",
CONF_DEVICE_PORT: 9,
CONF_DSN: DSN,
CONF_LANIP_KEY: LANIP_KEY,
CONF_LANIP_KEY_ID: KEY_ID,
CONF_TEMPLATE: "A",
}
@pytest.fixture
def config_entry(entry_data) -> MockConfigEntry:
return MockConfigEntry(domain=DOMAIN, data=entry_data, unique_id=DSN)