code: def setup_method(self):
      self.conn = conn = mock.MagicMock()
      self.conn.host = "host"
      self.conn.port = "1000"
      self.conn.conn_type = "http"
      self.conn.extra_dejson = {"endpoint": "query/sql"}
      self.cur = mock.MagicMock(rowcount=0)
      self.conn.cursor.return_value = self.cur
      self.conn.__enter__.return_value = self.cur
      self.conn.__exit__.return_value = None
  
      class TestPinotDBApiHook(PinotDbApiHook):
          def get_conn(self):
              return conn
  
          def get_connection(self, conn_id):
              return conn
  
      self.db_hook = TestPinotDBApiHook
  
imports: from __future__ import annotations
  import os
  import subprocess
  from io import BytesIO
  from unittest import mock
  import pytest
  from airflow.exceptions import AirflowException
  from airflow.providers.apache.pinot.hooks.pinot import PinotAdminHook, PinotDbApiHook
label_desc: Use image node_id 1 for calling the TestPinotDbApiHook obj's underlying member method code with example usage: obj.setup_method() and returns: conn, conn