Files
kite/backend/tests/test_ai_providers.py
T
curo1305 4febe2f704 test(07-01): Wave 0 xfail stubs for D-01..D-16 (13 new stubs)
- Create backend/tests/test_ai_providers.py with 7 stubs: test_generic_openai_json_mode, test_anthropic_structured_output, test_get_provider_typed, test_client_singleton, test_context_chars_truncation, test_smart_truncation, test_gemini_fallback_to_parse_classification
- Create backend/tests/test_ai_config.py with 2 stubs: test_load_provider_config, test_api_key_encrypt_decrypt
- Create backend/tests/test_admin_ai_config.py with 2 stubs: test_get_never_returns_key, test_put_writes_active_provider
- Create backend/tests/test_document_tasks.py with 2 stubs: test_retry_backoff, test_exhaustion_sets_failed_status
- Append test_reclassify_requeues_celery xfail stub to test_documents.py
- D-14 regression guard: grep confirms 3 host-gateway entries (>=2 required)
2026-06-04 18:44:53 +02:00

47 lines
1.7 KiB
Python

"""
Wave 0 xfail stubs for Phase 7 AI provider tests.
Each function is a placeholder for a test that will be promoted to green
in a later plan wave (per 07-VALIDATION.md per-task-verification map).
Stub policy (STATE.md decision: xfail(strict=False) for Wave 0):
- Body is a single pytest.xfail() call — no assertion code.
- strict=False so unexpected passes (xpass) never break CI.
"""
import pytest
@pytest.mark.xfail(strict=False, reason="Wave 0 stub — promoted in Plan 07-02")
async def test_generic_openai_json_mode():
pytest.xfail("not implemented yet — Plan 07-02")
@pytest.mark.xfail(strict=False, reason="Wave 0 stub — promoted in Plan 07-03")
async def test_anthropic_structured_output():
pytest.xfail("not implemented yet — Plan 07-03")
@pytest.mark.xfail(strict=False, reason="Wave 0 stub — promoted in Plan 07-02")
async def test_get_provider_typed():
pytest.xfail("not implemented yet — Plan 07-02")
@pytest.mark.xfail(strict=False, reason="Wave 0 stub — promoted in Plan 07-02")
async def test_client_singleton():
pytest.xfail("not implemented yet — Plan 07-02")
@pytest.mark.xfail(strict=False, reason="Wave 0 stub — promoted in Plan 07-03")
async def test_context_chars_truncation():
pytest.xfail("not implemented yet — Plan 07-03")
@pytest.mark.xfail(strict=False, reason="Wave 0 stub — promoted in Plan 07-03")
async def test_smart_truncation():
pytest.xfail("not implemented yet — Plan 07-03")
@pytest.mark.xfail(strict=False, reason="Wave 0 stub — promoted in Plan 07-02 Task 4 (D-02 Gemini fallback path)")
async def test_gemini_fallback_to_parse_classification():
pytest.xfail("not implemented yet — Plan 07-02")