code: def test_properties_describe_training_job_response():
      prop = Properties(
          step_name="MyStep", shape_name="DescribeTrainingJobResponse"
      )
      some_prop_names = [
          "TrainingJobName",
          "TrainingJobArn",
          "HyperParameters",
          "OutputDataConfig",
      ]
      for name in some_prop_names:
          assert name in prop.__dict__.keys()
  
      assert prop.CreationTime.expr == {
          "Get": "Steps.MyStep.CreationTime"
      }
      assert prop.CreationTime.expr == deepcopy(prop.CreationTime).expr
      assert prop.HyperParameters.expr == {
          "Get": "Steps.MyStep.HyperParameters"
      }
      assert (
          prop.HyperParameters.expr
          == deepcopy(prop.HyperParameters).expr
      )
      assert prop.OutputDataConfig.S3OutputPath.expr == {
          "Get": "Steps.MyStep.OutputDataConfig.S3OutputPath"
      }
      assert (
          prop.OutputDataConfig.S3OutputPath.expr
          == deepcopy(prop.OutputDataConfig.S3OutputPath).expr
      )
  
file_path: sagemaker-python-sdk/tests/unit/sagemaker/workflow/test_properties.py
imports: from __future__ import absolute_import
  import pytest
  from mock import Mock
  from copy import deepcopy
  from sagemaker.workflow.properties import Properties
  from sagemaker.workflow.step_outputs import get_step
label_desc: Use image node_id 2 for calling a global function with example usage: test_properties_describe_training_job_response() without return types