Files
fquiz/api/tests/test_legacy_llm_cleanup.py
2026-06-08 12:35:24 +08:00

55 lines
1.8 KiB
Python

from __future__ import annotations
import importlib.util
import os
import unittest
os.environ.setdefault("DATABASE_URL", "sqlite+pysqlite:///:memory:")
os.environ.setdefault("MINIO_ENABLED", "false")
from api.app import models # noqa: F401
from api.app.core.config import Settings
from api.app.core.database import Base
from api.app.services import admin_service, legacy_admin_rbac_service, legacy_authz_service
class LegacyLlmCleanupTest(unittest.TestCase):
def test_llm_registry_tables_removed_from_metadata(self) -> None:
removed_tables = {
"llm_models",
"model_route_rules",
"model_api_keys",
"model_health_checks",
"model_test_runs",
"model_usage_logs",
}
self.assertNotIn("model_registry", models.__all__)
self.assertTrue(removed_tables.isdisjoint(Base.metadata.tables))
def test_llm_config_fields_removed(self) -> None:
removed_fields = {
"llm_provider_api_keys",
"llm_request_timeout_seconds",
"chat_context_message_limit",
"chat_default_system_prompt",
}
self.assertTrue(removed_fields.isdisjoint(Settings.model_fields))
def test_legacy_menu_filters_no_longer_reference_chat_and_models(self) -> None:
for codes in (
admin_service.REMOVED_MENU_CODES,
legacy_admin_rbac_service.REMOVED_MENU_CODES,
legacy_authz_service.DISABLED_MENU_CODES,
):
self.assertNotIn("admin.chat", codes)
self.assertNotIn("admin.models", codes)
def test_calendar_service_module_removed(self) -> None:
self.assertIsNone(importlib.util.find_spec("api.app.services.calendar_event_service"))
if __name__ == "__main__":
unittest.main()