code: def test_local_pipeline():
      parameter = ParameterString("MyStr", default_value="test")
      pipeline = Pipeline(
          name="MyPipeline",
          parameters=[parameter],
          steps=[CustomStep(name="MyStep", input_data=parameter)],
          sagemaker_session=LocalSession(),
      )
      pipeline.create("dummy-role", "pipeline-description")
  
      pipeline_describe_response1 = pipeline.describe()
      assert pipeline_describe_response1["PipelineArn"] == "MyPipeline"
      assert (
          pipeline_describe_response1["PipelineDefinition"]
          == pipeline.definition()
      )
      assert (
          pipeline_describe_response1["PipelineDescription"]
          == "pipeline-description"
      )
  
      pipeline.update("dummy-role", "pipeline-description-2")
      pipeline_describe_response2 = pipeline.describe()
      assert (
          pipeline_describe_response2["PipelineDescription"]
          == "pipeline-description-2"
      )
      assert (
          pipeline_describe_response2["CreationTime"]
          != pipeline_describe_response2["LastModifiedTime"]
      )
  
      pipeline_execution_describe_response = pipeline.start().describe()
      assert (
          pipeline_execution_describe_response["PipelineArn"]
          == "MyPipeline"
      )
      assert (
          pipeline_execution_describe_response["PipelineExecutionArn"]
          is not None
      )
  
imports: from __future__ import absolute_import
  import copy
  import json
  import pytest
  from mock import Mock, call, patch
  from sagemaker import s3
  from sagemaker.remote_function.job import _JobSettings
  from sagemaker.session_settings import SessionSettings
  from sagemaker.workflow.condition_step import ConditionStep
  from sagemaker.workflow.conditions import ConditionEquals
  from sagemaker.workflow.execution_variables import ExecutionVariables
  from sagemaker.workflow.function_step import DelayedReturn, step
  from sagemaker.workflow.functions import JsonGet, Join
  from sagemaker.workflow.parameters import ParameterString
  from sagemaker.workflow.pipeline import Pipeline, PipelineGraph, _replace_pipeline_name_in_json_get_s3_uri
  from sagemaker.workflow.pipeline_context import _PipelineConfig
  from sagemaker.workflow.pipeline_definition_config import PipelineDefinitionConfig
  from sagemaker.workflow.pipeline_experiment_config import PipelineExperimentConfig, PipelineExperimentConfigProperties
  from sagemaker.workflow.step_collections import StepCollection
  from tests.unit.sagemaker.workflow.helpers import ordered, CustomStep, CustomFunctionStep
  from sagemaker.local.local_session import LocalSession
  from botocore.exceptions import ClientError
  from sagemaker.workflow.selective_execution_config import SelectiveExecutionConfig
label_desc: Use image node_id 28 for calling a global function with example usage: test_local_pipeline() without return types