"""Verify PROVIDERS is defined in src.ai_client (the source of truth)
and re-exported from src.models (backward compat shim).

Per the follow-up track's Naming Convention (HARD RULE), PROVIDERS
lives in src/ai_client.py. src/models.py keeps a re-export
shim so existing import sites don't break.
"""
from __future__ import annotations
import src.models as models
import src.ai_client as ai_client

EXPECTED_PROVIDERS = ["gemini", "anthropic", "gemini_cli", "deepseek", "minimax", "qwen", "grok", "llama"]

def test_providers_defined_in_src_ai_client() -> None:
 assert hasattr(ai_client, "PROVIDERS")
 assert ai_client.PROVIDERS == EXPECTED_PROVIDERS

def test_providers_reexported_from_src_models() -> None:
 assert hasattr(models, "PROVIDERS")
 assert models.PROVIDERS == EXPECTED_PROVIDERS

def test_providers_same_object_in_both_modules() -> None:
 assert models.PROVIDERS is ai_client.PROVIDERS
