code: def test_lookup(self, mock_get_conn):
      self.datastore_hook.connection = mock_get_conn.return_value
      keys = []
      read_consistency = "ENUM"
      transaction = "transaction"
  
      resp = self.datastore_hook.lookup(
          keys=keys,
          read_consistency=read_consistency,
          transaction=transaction,
          project_id=GCP_PROJECT_ID,
      )
  
      projects = self.datastore_hook.connection.projects
      projects.assert_called_once_with()
      lookup = projects.return_value.lookup
      lookup.assert_called_once_with(
          projectId=GCP_PROJECT_ID,
          body={
              "keys": keys,
              "readConsistency": read_consistency,
              "transaction": transaction,
          },
      )
      execute = lookup.return_value.execute
      execute.assert_called_once_with(num_retries=mock.ANY)
      assert resp == execute.return_value
  
imports: from __future__ import annotations
  from unittest import mock
  from unittest.mock import call, patch
  import pytest
  from airflow.exceptions import AirflowException
  from airflow.providers.google.cloud.hooks.datastore import DatastoreHook
label_desc: Use image node_id 10 for calling the TestDatastoreHook obj's underlying member method code with example usage: obj.test_lookup(mock_get_conn) without return types