code: def test_update_environment(self, mock_client) -> None:
      self.hook.update_environment(
          project_id=TEST_GCP_PROJECT,
          region=TEST_GCP_REGION,
          environment_id=TEST_ENVIRONMENT_ID,
          environment=TEST_UPDATED_ENVIRONMENT,
          update_mask=TEST_UPDATE_MASK,
          retry=TEST_RETRY,
          timeout=TEST_TIMEOUT,
          metadata=TEST_METADATA,
      )
      mock_client.assert_called_once()
      mock_client.return_value.update_environment.assert_called_once_with(
          request={
              "name": self.hook.get_environment_name(
                  TEST_GCP_PROJECT, TEST_GCP_REGION, TEST_ENVIRONMENT_ID
              ),
              "environment": TEST_UPDATED_ENVIRONMENT,
              "update_mask": TEST_UPDATE_MASK,
          },
          retry=TEST_RETRY,
          timeout=TEST_TIMEOUT,
          metadata=TEST_METADATA,
      )
  
file_path: airflow/tests/providers/google/cloud/hooks/test_cloud_composer.py
imports: from __future__ import annotations
  from unittest import mock
  from unittest.mock import AsyncMock
  import pytest
  from google.api_core.gapic_v1.method import DEFAULT
  from google.cloud.orchestration.airflow.service_v1 import EnvironmentsAsyncClient
  from airflow.providers.google.cloud.hooks.cloud_composer import CloudComposerAsyncHook, CloudComposerHook
label_desc: Use image node_id 7 for calling the TestCloudComposerHook obj's underlying member method code with example usage: obj.test_update_environment(mock_client) without return types