code: def test__build_default_async_inference_config__default_bucket_and_prefix_combinations(
      unique_name_from_base,
  ):
      unique_name_from_base.return_value = "unique-name"
  
      def with_user_input(sess):
          model = Model(
              entry_point=ENTRY_POINT_INFERENCE,
              role=ROLE,
              sagemaker_session=sess,
              image_uri=IMAGE_URI,
              model_data=MODEL_DATA,
              code_location="s3://test-bucket/test-prefix/test-prefix-2",
          )
          async_config = AsyncInferenceConfig(
              output_path="s3://output-bucket/output-prefix/output-prefix-2",
              failure_path="s3://failure-bucket/failure-prefix/failure-prefix-2",
          )
          model._build_default_async_inference_config(async_config)
          return async_config.output_path, async_config.failure_path
  
      def without_user_input(sess):
          model = Model(
              entry_point=ENTRY_POINT_INFERENCE,
              role=ROLE,
              sagemaker_session=sess,
              image_uri=IMAGE_URI,
              model_data=MODEL_DATA,
              code_location="s3://test-bucket/test-prefix/test-prefix-2",
          )
          async_config = AsyncInferenceConfig()
          model._build_default_async_inference_config(async_config)
          return async_config.output_path, async_config.failure_path
  
      actual, expected = _test_default_bucket_and_prefix_combinations(
          function_with_user_input=with_user_input,
          function_without_user_input=without_user_input,
          expected__without_user_input__with_default_bucket_and_default_prefix=(
              f"s3://{DEFAULT_S3_BUCKET_NAME}/{DEFAULT_S3_OBJECT_KEY_PREFIX_NAME}/async-endpoint-outputs/unique-name",
              f"s3://{DEFAULT_S3_BUCKET_NAME}/{DEFAULT_S3_OBJECT_KEY_PREFIX_NAME}/async-endpoint-failures/unique-name",
          ),
          expected__without_user_input__with_default_bucket_only=(
              f"s3://{DEFAULT_S3_BUCKET_NAME}/async-endpoint-outputs/unique-name",
              f"s3://{DEFAULT_S3_BUCKET_NAME}/async-endpoint-failures/unique-name",
          ),
          expected__with_user_input__with_default_bucket_and_prefix=(
              "s3://output-bucket/output-prefix/output-prefix-2",
              "s3://failure-bucket/failure-prefix/failure-prefix-2",
          ),
          expected__with_user_input__with_default_bucket_only=(
              "s3://output-bucket/output-prefix/output-prefix-2",
              "s3://failure-bucket/failure-prefix/failure-prefix-2",
          ),
      )
      assert actual == expected
  
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 43 for calling a global function with example usage: test__build_default_async_inference_config__default_bucket_and_prefix_combinations(unique_name_from_base) and returns: async_config,  async_config, async_config,  async_config