code: def test_dereference_object_refs(workflow_start_regular_shared):
      """Ensure that object refs are dereferenced like in ray tasks."""
      from ray.workflow.tests.utils import skip_client_mode_test
  
      # TODO(suquark): Fix workflow with ObjectRefs as inputs under client mode.
      skip_client_mode_test()
  
      @ray.remote
      def f(obj_list):
          assert isinstance(obj_list[0], ray.ObjectRef)
          assert ray.get(obj_list) == [42]
  
      @ray.remote
      def g(x, y):
          assert x == 314
          assert isinstance(y[0], ray.ObjectRef)
          assert ray.get(y) == [2022]
          return [ray.put(42)]
  
      @ray.remote
      def h():
          return ray.put(2022)
  
      dag = f.bind(g.bind(x=ray.put(314), y=[ray.put(2022)]))
  
      # Run with workflow and normal Ray engine.
      workflow.run(dag)
      ray.get(dag.execute())
  
file_path: ray/python/ray/workflow/tests/test_dag_to_workflow.py
imports: from ray.tests.conftest import *
  import pytest
  import ray
  from ray import workflow
  from ray.dag import InputNode
label_desc: Use image node_id 4 for calling a global function with example usage: test_dereference_object_refs(workflow_start_regular_shared) and returns: list, ray