code: def test_uc_models_artifact_repo_download_artifacts_uses_temporary_creds_gcp():
      artifact_location = "gs://test_bucket/some/path"
      fake_oauth_token = "fake_session_token"
      temporary_creds = {
          "gcp_oauth_token": {
              "oauth_token": fake_oauth_token,
          },
      }
      fake_local_path = "/tmp/fake_path"
      with mock.patch(
          "databricks_cli.configure.provider.get_config"
      ), mock.patch.object(
          MlflowClient,
          "get_model_version_download_uri",
          return_value=artifact_location,
      ), mock.patch(
          "mlflow.utils.rest_utils.http_request"
      ) as request_mock, mock.patch(
          "google.cloud.storage.Client"
      ) as gcs_client_class_mock, mock.patch(
          "mlflow.store.artifact.gcs_artifact_repo.GCSArtifactRepository"
      ) as gcs_artifact_repo_class_mock:
          mock_gcs_client = mock.MagicMock(autospec=Client)
          gcs_client_class_mock.return_value = mock_gcs_client
          mock_gcs_repo = mock.MagicMock(autospec=GCSArtifactRepository)
          mock_gcs_repo.download_artifacts.return_value = (
              fake_local_path
          )
          gcs_artifact_repo_class_mock.return_value = mock_gcs_repo
          request_mock.return_value = _mock_temporary_creds_response(
              temporary_creds
          )
          models_repo = UnityCatalogModelsArtifactRepository(
              artifact_uri="models:/MyModel/12",
              registry_uri=_DATABRICKS_UNITY_CATALOG_SCHEME,
          )
          assert (
              models_repo.download_artifacts(
                  "artifact_path", "dst_path"
              )
              == fake_local_path
          )
          gcs_artifact_repo_class_mock.assert_called_once_with(
              artifact_uri=artifact_location, client=ANY
          )
          mock_gcs_repo.download_artifacts.assert_called_once_with(
              "artifact_path", "dst_path"
          )
          gcs_client_args = gcs_client_class_mock.call_args_list[0]
          credentials = gcs_client_args[1]["credentials"]
          assert credentials.token == fake_oauth_token
          request_mock.assert_called_with(
              host_creds=ANY,
              endpoint="/api/2.0/mlflow/unity-catalog/model-versions/generate-temporary-credentials",
              method="POST",
              json={
                  "name": "MyModel",
                  "version": "12",
                  "operation": "MODEL_VERSION_OPERATION_READ",
              },
          )
  
imports: import json
  from unittest import mock
  from unittest.mock import ANY
  import pytest
  from google.cloud.storage import Client
  from requests import Response
  from mlflow import MlflowClient
  from mlflow.entities.file_info import FileInfo
  from mlflow.exceptions import MlflowException
  from mlflow.store._unity_catalog.registry.utils import _ACTIVE_CATALOG_QUERY, _ACTIVE_SCHEMA_QUERY
  from mlflow.store.artifact.azure_data_lake_artifact_repo import AzureDataLakeArtifactRepository
  from mlflow.store.artifact.gcs_artifact_repo import GCSArtifactRepository
  from mlflow.store.artifact.optimized_s3_artifact_repo import OptimizedS3ArtifactRepository
  from mlflow.store.artifact.unity_catalog_models_artifact_repo import UnityCatalogModelsArtifactRepository
  from mlflow.utils.uri import _DATABRICKS_UNITY_CATALOG_SCHEME
label_desc: Use image node_id 9 for calling a global function with example usage: test_uc_models_artifact_repo_download_artifacts_uses_temporary_creds_gcp() without return types