code: def test_prepare_tgi_js_resources_for_jumpstart_invalid_model_data(
      self, mock_s3_downloader
  ):
      mock_code_dir = Mock()
      mock_s3_downloader_obj = Mock()
      mock_s3_downloader.return_value = mock_s3_downloader_obj
  
      _copy_jumpstart_artifacts(
          MOCK_UNCOMPRESSED_MODEL_DATA_DICT,
          MOCK_JUMPSTART_ID,
          mock_code_dir,
      )
  
      mock_s3_downloader_obj.download.assert_called_once_with(
          MOCK_UNCOMPRESSED_MODEL_DATA_STR_FOR_DICT, mock_code_dir
      )
  
file_path: sagemaker-python-sdk/tests/unit/sagemaker/serve/model_server/tgi/test_tgi_prepare.py
imports: from __future__ import absolute_import
  from unittest import TestCase
  from unittest.mock import Mock, PropertyMock, patch
  from sagemaker.serve.model_server.tgi.prepare import _create_dir_structure, _copy_jumpstart_artifacts, _extract_js_resource
  from tests.unit.sagemaker.serve.model_server.constants import MOCK_JUMPSTART_ID, MOCK_TMP_DIR, MOCK_COMPRESSED_MODEL_DATA_STR, MOCK_UNCOMPRESSED_MODEL_DATA_STR, MOCK_UNCOMPRESSED_MODEL_DATA_STR_FOR_DICT, MOCK_UNCOMPRESSED_MODEL_DATA_DICT, MOCK_INVALID_MODEL_DATA_DICT
label_desc: Use image node_id 4 for calling the TgiPrepareTests obj's underlying member method code with example usage: obj.test_prepare_tgi_js_resources_for_jumpstart_invalid_model_data(mock_s3_downloader) without return types