def test_get_collection_exists(mocker): db_name = "test_db" coll_name = "test_coll" mongo_client = mongomock.MongoClient() conn = MongoConnection(db_name, coll_name) conn.db = mongo_client.db mocker.patch.object(mongo_client.db, 'get_collection', return_value=True) mocker.patch.object(conn.db, 'create_collection') mocker.patch.object(conn, 'raise_exception') conn.get_collection(coll_name) conn.db.get_collection.assert_called_with(coll_name) assert conn.db.get_collection.call_count == 2 conn.db.create_collection.assert_not_called() conn.raise_exception.assert_not_called()
def test_get_collection_creating(mocker): db_name = "test_db" coll_name = "test_coll" mongo_client = mongomock.MongoClient() conn = MongoConnection(db_name, coll_name) conn.db = mongo_client.db conn.mongo_db_model_info_collection = coll_name mocker.patch.object(mongo_client.db, 'get_collection', return_value=False) mocker.patch.object(conn.db, 'create_collection') mocker.patch.object(conn, 'raise_exception') conn.get_collection(coll_name) conn.db.get_collection.assert_called_with(coll_name) assert conn.db.get_collection.call_count == 2 conn.db.create_collection.assert_called_once_with(coll_name) conn.raise_exception.assert_not_called()
def test_get_collection_except(mocker): db_name = "test_db" coll_name = "test_coll" message = 'Collection does not exist in test_db database.' \ 'Please check your configuration file parameters and try again.' mongo_client = mongomock.MongoClient() conn = MongoConnection(db_name, coll_name) conn.db = mongo_client.db conn.mongo_db_model_info_collection = "different_collection" mocker.patch.object(mongo_client.db, 'get_collection', return_value=False) mocker.patch.object(conn.db, 'create_collection') mocker.patch.object(conn, 'raise_exception') conn.get_collection(coll_name) conn.db.get_collection.assert_called_once_with(coll_name) conn.db.create_collection.assert_not_called() conn.raise_exception.assert_called_once_with(message)