code: def test_gauge_executor_metrics(
      self, mock_stats_gauge, mock_trigger_tasks, mock_sync
  ):
      executor = LocalExecutor()
      executor.heartbeat()
      calls = [
          mock.call(
              "executor.open_slots",
              value=mock.ANY,
              tags={"status": "open", "name": "LocalExecutor"},
          ),
          mock.call(
              "executor.queued_tasks",
              value=mock.ANY,
              tags={"status": "queued", "name": "LocalExecutor"},
          ),
          mock.call(
              "executor.running_tasks",
              value=mock.ANY,
              tags={"status": "running", "name": "LocalExecutor"},
          ),
      ]
      mock_stats_gauge.assert_has_calls(calls)
  
imports: from __future__ import annotations
  import datetime
  import subprocess
  from unittest import mock
  import pytest
  from airflow import settings
  from airflow.exceptions import AirflowException
  from airflow.executors.local_executor import LocalExecutor
  from airflow.utils.state import State
label_desc: Use image node_id 12 for calling the TestLocalExecutor obj's underlying member method code with example usage: obj.test_gauge_executor_metrics(mock_stats_gauge, mock_trigger_tasks, mock_sync) without return types