35 lines
1.0 KiB
Python
35 lines
1.0 KiB
Python
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()
|