code: def test_wait_for_crawler_completion_instant_ready(
      self, _, mock_get_conn: MagicMock, mock_get_crawler: MagicMock
  ):
      mock_get_crawler.return_value = {
          "State": "READY",
          "LastCrawl": {"Status": "MOCK_STATUS"},
      }
      mock_get_conn.return_value.get_crawler_metrics.return_value = {
          "CrawlerMetricsList": [
              {
                  "LastRuntimeSeconds": "TEST-A",
                  "MedianRuntimeSeconds": "TEST-B",
                  "TablesCreated": "TEST-C",
                  "TablesUpdated": "TEST-D",
                  "TablesDeleted": "TEST-E",
              }
          ]
      }
      assert (
          self.hook.wait_for_crawler_completion(mock_crawler_name)
          == "MOCK_STATUS"
      )
      mock_get_conn.assert_has_calls(
          [
              mock.call(),
              mock.call().get_crawler_metrics(
                  CrawlerNameList=[mock_crawler_name]
              ),
          ]
      )
      mock_get_crawler.assert_called_once_with(mock_crawler_name)
  
imports: from __future__ import annotations
  from copy import deepcopy
  from typing import TYPE_CHECKING
  from unittest import mock
  from moto import mock_sts
  from moto.core import DEFAULT_ACCOUNT_ID
  from airflow.providers.amazon.aws.hooks.glue_crawler import GlueCrawlerHook
label_desc: Use image node_id 14 for calling the TestGlueCrawlerHook obj's underlying member method code with example usage: obj.test_wait_for_crawler_completion_instant_ready(_, mock_get_conn, mock_get_crawler) without return types