code: def test_basic_preregister(init_and_serve):
      """Tests conversion of Ray actors and remote functions to client actors
      and client remote functions.
  
      Checks that the conversion works when disconnecting and reconnecting client
      sessions.
      """
      from ray.util.client import ray
  
      for _ in range(2):
          ray.connect("localhost:50051")
          val = ray.get(hello_world.remote())
          print(val)
          assert val >= 20
          assert val <= 200
          c = C.remote(3)
          x = c.double.remote()
          y = c.double.remote()
          ray.wait([x, y])
          val = ray.get(c.get.remote())
          assert val == 12
          ray.disconnect()
  
imports: import pytest
  import time
  import random
  import sys
  import subprocess
  from unittest.mock import patch
  import ray.util.client.server.server
  import ray.core.generated.ray_client_pb2
  from ray.util.client import _ClientContext, CURRENT_PROTOCOL_VERSION
  from ray.cluster_utils import cluster_not_supported
  import ray
label_desc: Use image node_id 5 for calling a global function with example usage: test_basic_preregister(init_and_serve) without return types