mock_prompt = mock_llm_model = @pytest.mark.asyncio @patch("src.schemas.llm_model.LLMModel.read_entry") @patch("src.schemas.prompt_model.Prompt.run_pipeline") async def test_get_prompt_and_model_details(mock_prompt, mock_llm_model): # Mock database connection mock_project_db = AsyncMock() mock_project_db.database = "mock_db" mock_prompt.return_value = [{"model_ids": ["model_1", "model_2"]}] mock_llm_model.return_value = [ {"model_id": "model_1", "model_name": "GPT-4"}, {"model_id": "model_2", "model_name": "Claude-2"}, ] > result = await get_prompt_and_model_details(mock_project_db) test_common_utils.py:326: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ..\utils\common\health_utils.py:15: in get_prompt_and_model_details prompt_details = await Prompt(database=project_database).run_pipeline( ..\schemas\prompt_model.py:33: in __init__ super().__init__(database=database, **kwargs) ..\integration\database\base_model.py:81: in __init__ self.client.get_database(self.database) if self.database else None ..\..\.venv\lib\site-packages\motor\metaprogramming.py:235: in wrapper result = method(self_.delegate, *args, **kwargs) ..\..\.venv\lib\site-packages\pymongo\mongo_client.py:2123: in get_database return database.Database( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("Database has no attribute '_Database__client'. To access the _Database__client collection, use database['_Database__client'].") raised in repr()] Database object at 0x1a774457460> client = MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True, maxpoolsize=None, driver=DriverInfo(name='Motor', version='3.5.1', platform='asyncio')) name = , codec_options = None, read_preference = None, write_concern = None read_concern = None def __init__( self, client: MongoClient[_DocumentType], name: str, codec_options: Optional[bson.CodecOptions[_DocumentTypeArg]] = None, read_preference: Optional[_ServerMode] = None, write_concern: Optional[WriteConcern] = None, read_concern: Optional[ReadConcern] = None, ) -> None: """Get a database by client and name. Raises :class:`TypeError` if `name` is not an instance of :class:`str`. Raises :class:`~pymongo.errors.InvalidName` if `name` is not a valid database name. :Parameters: - `client`: A :class:`~pymongo.mongo_client.MongoClient` instance. - `name`: The database name. - `codec_options` (optional): An instance of :class:`~bson.codec_options.CodecOptions`. If ``None`` (the default) client.codec_options is used. - `read_preference` (optional): The read preference to use. If ``None`` (the default) client.read_preference is used. - `write_concern` (optional): An instance of :class:`~pymongo.write_concern.WriteConcern`. If ``None`` (the default) client.write_concern is used. - `read_concern` (optional): An instance of :class:`~pymongo.read_concern.ReadConcern`. If ``None`` (the default) client.read_concern is used. .. seealso:: The MongoDB documentation on `databases `_. .. versionchanged:: 4.0 Removed the eval, system_js, error, last_status, previous_error, reset_error_history, authenticate, logout, collection_names, current_op, add_user, remove_user, profiling_level, set_profiling_level, and profiling_info methods. See the :ref:`pymongo4-migration-guide`. .. versionchanged:: 3.2 Added the read_concern option. .. versionchanged:: 3.0 Added the codec_options, read_preference, and write_concern options. :class:`~pymongo.database.Database` no longer returns an instance of :class:`~pymongo.collection.Collection` for attribute names with leading underscores. You must use dict-style lookups instead:: db['__my_collection__'] Not: db.__my_collection__ """ super().__init__( codec_options or client.codec_options, read_preference or client.read_preference, write_concern or client.write_concern, read_concern or client.read_concern, ) if not isinstance(name, str): > raise TypeError("name must be an instance of str") E TypeError: name must be an instance of str ..\..\.venv\lib\site-packages\pymongo\database.py:137: TypeError