code: def test_address_to_pg_bundle():
      # Missing bundle index.
      with pytest.raises(ValueError):
          node_address_to_placement("ray://bundle_name")
      # Extra path is not allowed.
      with pytest.raises(ValueError):
          node_address_to_placement("ray://bundle_name/0/")
      # The scheme is not ray
      with pytest.raises(ValueError):
          node_address_to_placement("http://bundle_name/0")
      # The bundle index is not an int string.
      with pytest.raises(ValueError):
          node_address_to_placement("ray://abc/def")
      pg_name, bundle_index = node_address_to_placement(
          "ray://bundle_name/0"
      )
      assert pg_name == "bundle_name"
      assert bundle_index == 0
      pg_name, bundle_index = node_address_to_placement(
          "ray://127.0.0.1/1"
      )
      assert pg_name == "127.0.0.1"
      assert bundle_index == 1
      pg_name, bundle_index = node_address_to_placement(
          "ray://127.0.0.1%2F2"
      )
      assert pg_name == "127.0.0.1"
      assert bundle_index == 2
      with pytest.raises(ValueError):
          node_address_to_placement("ray://")
  
file_path: mars/mars/oscar/backends/ray/tests/test_ray_actor_driver.py
imports: import collections
  import os
  import pytest
  from .....None import oscar
  from .....tests.core import require_ray
  from .....utils import lazy_import
  from ..communication import RayServer
  from ..driver import RayActorDriver
  from ..utils import node_address_to_placement, process_placement_to_address, addresses_to_placement_group_info, placement_group_info_to_addresses, get_placement_group, process_address_to_placement
label_desc: Use image node_id 1 for calling a global function with example usage: test_address_to_pg_bundle() without return types