code: def test_all_framework_models_inference_component_based_endpoint_deploy_path(
      repack_model, tar_and_uload_dir, sagemaker_session
  ):
      framework_model_classes_to_kwargs = {
          PyTorchModel: {
              "framework_version": "1.5.0",
              "py_version": "py3",
          },
          TensorFlowModel: {
              "framework_version": "2.3",
          },
          HuggingFaceModel: {
              "pytorch_version": "1.7.1",
              "py_version": "py36",
              "transformers_version": "4.6.1",
          },
          MXNetModel: {
              "framework_version": "1.7.0",
              "py_version": "py3",
          },
          SKLearnModel: {
              "framework_version": "0.23-1",
          },
          XGBoostModel: {
              "framework_version": "1.3-1",
          },
      }
  
      sagemaker_session.settings = SessionSettings(
          include_jumpstart_tags=False
      )
  
      source_dir = "s3://blah/blah/blah"
      for (
          framework_model_class,
          kwargs,
      ) in framework_model_classes_to_kwargs.items():
          framework_model_class(
              entry_point=ENTRY_POINT_INFERENCE,
              role=ROLE,
              sagemaker_session=sagemaker_session,
              model_data=source_dir,
              **kwargs,
          ).deploy(
              instance_type="ml.m2.xlarge",
              initial_instance_count=INSTANCE_COUNT,
              endpoint_type=EndpointType.INFERENCE_COMPONENT_BASED,
              resources=ResourceRequirements(
                  requests={
                      "num_accelerators": 1,
                      "memory": 8192,
                      "copies": 1,
                  },
                  limits={},
              ),
          )
  
          # Verified inference component based endpoint and inference component creation
          # path
          sagemaker_session.endpoint_in_service_or_not.assert_called_once()
          sagemaker_session.create_model.assert_called_once()
          sagemaker_session.create_inference_component.assert_called_once()
  
          sagemaker_session.create_inference_component.reset_mock()
          sagemaker_session.endpoint_in_service_or_not.reset_mock()
          sagemaker_session.create_model.reset_mock()
  
imports: from __future__ import absolute_import
  import random
  from unittest.mock import MagicMock
  import pytest
  from mock import Mock, patch
  import sagemaker
  from sagemaker.async_inference import AsyncInferenceConfig
  from sagemaker.model import FrameworkModel, Model
  from sagemaker.huggingface.model import HuggingFaceModel
  from sagemaker.jumpstart.constants import JUMPSTART_GATED_AND_PUBLIC_BUCKET_NAME_SET, JUMPSTART_RESOURCE_BASE_NAME
  from sagemaker.jumpstart.enums import JumpStartTag
  from sagemaker.mxnet.model import MXNetModel
  from sagemaker.pytorch.model import PyTorchModel
  from sagemaker.session_settings import SessionSettings
  from sagemaker.sklearn.model import SKLearnModel
  from sagemaker.tensorflow.model import TensorFlowModel
  from sagemaker.xgboost.model import XGBoostModel
  from sagemaker.enums import EndpointType
  from sagemaker.compute_resource_requirements.resource_requirements import ResourceRequirements
  from sagemaker.workflow.properties import Properties
  from tests.unit import _test_default_bucket_and_prefix_combinations, DEFAULT_S3_BUCKET_NAME, DEFAULT_S3_OBJECT_KEY_PREFIX_NAME, SAGEMAKER_CONFIG_EDGE_PACKAGING_JOB
label_desc: Use image node_id 33 for calling a global function with example usage: test_all_framework_models_inference_component_based_endpoint_deploy_path(repack_model, tar_and_uload_dir, sagemaker_session) without return types