- 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)
47 lines
1.7 KiB
Python
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")
|