a6bb67752c
Co-authored-by: multica-agent <github@multica.ai>
55 lines
1.8 KiB
Python
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()
|