"""Integration test fixtures.

Integration tests require real HA instances. Start them with:

    docker compose -f tests/integration/docker-compose.ken.yml up -d
    docker compose -f tests/integration/docker-compose.chelsty.yml up -d
    tests/integration/scripts/wait-for-ha.sh http://localhost:8123
    tests/integration/scripts/wait-for-ha.sh http://localhost:8124

Then set TEST_HA_TOKEN (a long-lived HA token) and run:

    pytest tests/ -m integration

All tests in this module are automatically skipped when TEST_HA_TOKEN is unset.
"""
from __future__ import annotations

import os

import pytest


@pytest.fixture(scope="session")
def ha_ken_url() -> str:
    return os.getenv("TEST_HA_KEN_URL", "http://localhost:8123")


@pytest.fixture(scope="session")
def ha_chelsty_url() -> str:
    return os.getenv("TEST_HA_CHELSTY_URL", "http://localhost:8124")


@pytest.fixture(scope="session")
def ha_token() -> str:
    token = os.getenv("TEST_HA_TOKEN", "")
    if not token:
        pytest.skip("TEST_HA_TOKEN not set — skipping integration tests")
    return token
