code: def t_single_row(self, client_con, mock_executor):
      # ==== test single row ===
      mock_executor.side_effect = lambda x: ExecuteAnswer(
          ANSWER_TYPE.TABLE, columns=[Column("a")], data=[["test"]]
      )
  
      res = client_con.mindsdb.fish_model1.find(
          {"length1": 10, "type": "a"}
      )
      res = list(res)  # to fetch
      assert res == [{"a": "test"}]
  
      ast = mock_executor.call_args[0][0]
  
      expected_sql = """
            SELECT * FROM mindsdb.fish_model1
            where length1=10 and type='a'
          """
      assert (
          parse_sql(expected_sql, "mindsdb").to_string()
          == ast.to_string()
      )
  
imports: import datetime
  import json
  import threading
  import inspect
  from unittest.mock import patch
  import tempfile
  import os
  from pymongo import MongoClient
  from mindsdb_sql import parse_sql
  from mindsdb.api.executor.data_types.answer import ExecuteAnswer, ANSWER_TYPE
  from mindsdb.api.executor import Column
  from .executor_test_base import BaseUnitTest
label_desc: Use image node_id 2 for calling the TestMongoDBServer obj's underlying member method code with example usage: obj.t_single_row(client_con, mock_executor) without return types