import unittest from unittest.mock import AsyncMock from config.settings import settings from config.database.milvus import ensure_database class MilvusConfigTests(unittest.TestCase): def test_uses_project_database_from_milvus_db_env(self): self.assertEqual(settings.milvus.db_name, "mutual_fund") class MilvusDatabaseTests(unittest.IsolatedAsyncioTestCase): async def test_creates_project_database_only_when_missing(self): client = AsyncMock() client.list_databases.return_value = ["default"] await ensure_database(client) client.create_database.assert_awaited_once_with("mutual_fund") client.drop_database.assert_not_called() async def test_reuses_existing_project_database_without_recreating_it(self): client = AsyncMock() client.list_databases.return_value = ["default", "mutual_fund"] await ensure_database(client) client.create_database.assert_not_called() client.drop_database.assert_not_called() if __name__ == "__main__": unittest.main()