code: def test_retrieve_uri_from_gated_bucket(
      self, patched_get_model_specs
  ):
      patched_get_model_specs.side_effect = get_special_model_spec
  
      model_id = "private-model"
      region = "us-west-2"
  
      self.assertEqual(
          _retrieve_model_uri(
              model_id=model_id,
              model_version="*",
              model_scope="inference",
              region=region,
          ),
          "s3://jumpstart-private-cache-prod-us-west-2/pytorch-infer/infer-pytorch-ic-mobilenet-v2.tar.gz",
      )
      self.assertEqual(
          _retrieve_model_uri(
              model_id=model_id,
              model_version="*",
              model_scope="training",
              region=region,
          ),
          "s3://jumpstart-private-cache-prod-us-west-2/pytorch-training/train-pytorch-ic-mobilenet-v2.tar.gz",
      )
  
imports: from __future__ import absolute_import
  import unittest
  from unittest.mock import Mock
  from mock.mock import patch
  import pytest
  import copy
  from sagemaker.jumpstart import artifacts
  from sagemaker.jumpstart.artifacts.model_uris import _retrieve_hosting_prepacked_artifact_key, _retrieve_hosting_artifact_key, _retrieve_training_artifact_key
  from sagemaker.jumpstart.types import JumpStartModelSpecs
  from tests.unit.sagemaker.jumpstart.constants import BASE_SPEC
  from sagemaker.jumpstart.artifacts.model_packages import _retrieve_model_package_arn
  from sagemaker.jumpstart.artifacts.model_uris import _retrieve_model_uri
  from sagemaker.jumpstart.enums import JumpStartScriptScope
  from tests.unit.sagemaker.jumpstart.utils import get_spec_from_base_spec, get_special_model_spec
  from tests.unit.sagemaker.workflow.conftest import mock_client
label_desc: Use image node_id 1 for calling the PrivateJumpStartBucketTest obj's underlying member method code with example usage: obj.test_retrieve_uri_from_gated_bucket(patched_get_model_specs) without return types