code: def test_deserialize_func_corrupt_metadata():
      def square(x):
          return x * x
  
      s3_uri = random_s3_uri()
  
      serialize_func_to_s3(
          func=square,
          sagemaker_session=Mock(),
          s3_uri=s3_uri,
          s3_kms_key=KMS_KEY,
          hmac_key=HMAC_KEY,
      )
      mock_s3[f"{s3_uri}/metadata.json"] = b"not json serializable"
  
      del square
  
      with pytest.raises(
          DeserializationError, match=r"Corrupt metadata file."
      ):
          deserialize_func_from_s3(
              sagemaker_session=Mock(), s3_uri=s3_uri, hmac_key=HMAC_KEY
          )
  
imports: from __future__ import absolute_import
  import random
  import string
  import pytest
  from mock import patch, Mock
  from sagemaker.experiments.run import Run
  from sagemaker.workflow.parameters import ParameterInteger
  from sagemaker.workflow.function_step import DelayedReturn
  from sagemaker.remote_function.core.serialization import serialize_func_to_s3, deserialize_func_from_s3, serialize_obj_to_s3, deserialize_obj_from_s3, serialize_exception_to_s3, deserialize_exception_from_s3
  from sagemaker.remote_function.errors import ServiceError, SerializationError, DeserializationError
  from tblib import pickling_support
label_desc: Use image node_id 12 for calling a global function with example usage: test_deserialize_func_corrupt_metadata() and returns: unknown