code: def test_set_machine_type_instance(
      self, wait_for_operation_to_complete, get_conn, mock_project_id
  ):
      execute_method = (
          get_conn.return_value.instances.return_value.setMachineType.return_value.execute
      )
      execute_method.return_value = {"name": "operation_id"}
      wait_for_operation_to_complete.return_value = None
      res = self.gce_hook.set_machine_type(
          body={},
          zone=GCE_ZONE,
          resource_id=GCE_INSTANCE,
          project_id=GCP_PROJECT_ID_HOOK_UNIT_TEST,
      )
      assert res is None
      execute_method.assert_called_once_with(num_retries=5)
      wait_for_operation_to_complete.assert_called_once_with(
          project_id="example-project",
          operation_name="operation_id",
          zone="zone",
      )
  
imports: from __future__ import annotations
  from unittest import mock
  from unittest.mock import PropertyMock
  import pytest
  from google.api_core.retry import Retry
  from airflow.exceptions import AirflowException
  from airflow.providers.google.cloud.hooks.compute import ComputeEngineHook, GceOperationStatus
  from tests.providers.google.cloud.utils.base_gcp_mock import GCP_PROJECT_ID_HOOK_UNIT_TEST, mock_base_gcp_hook_default_project_id, mock_base_gcp_hook_no_default_project_id
label_desc: Use image node_id 6 for calling the TestGcpComputeHookDefaultProjectId obj's underlying member method code with example usage: obj.test_set_machine_type_instance(wait_for_operation_to_complete, get_conn, mock_project_id) without return types