code: def test_create_graph_with_edge_ids(dask_client, graph_file):
      el = utils.read_csv_file(graph_file)
      el["id"] = cupy.random.permutation(len(el))
      el["id"] = el["id"].astype(el["1"].dtype)
      el["etype"] = cupy.random.random_integers(4, size=len(el))
      el["etype"] = el["etype"].astype("int32")
  
      num_workers = len(Comms.get_workers())
      el = dask_cudf.from_cudf(el, npartitions=num_workers)
  
      with pytest.raises(ValueError):
          G = cugraph.Graph()
          G.from_dask_cudf_edgelist(
              el,
              source="0",
              destination="1",
              edge_attr=["2", "id", "etype"],
          )
  
      G = cugraph.Graph(directed=True)
      G.from_dask_cudf_edgelist(
          el,
          source="0",
          destination="1",
          edge_attr=["2", "id", "etype"],
      )
  
imports: import gc
  import random
  import pytest
  import copy
  import cupy
  import cudf
  import cugraph
  import dask_cudf
  import cugraph.dask
  import cugraph.dask.comms.comms
  from cugraph.testing import utils
  from dask.distributed import wait
  from pylibcugraph import ResourceHandle
  from pylibcugraph import bfs
  from cudf.testing.testing import assert_frame_equal
  from cugraph.dask.traversal.bfs import convert_to_cudf
  from cugraph.dask.common.input_utils import get_distributed_data
  from pylibcugraph.testing.utils import gen_fixture_params_product
  from cugraph.dask.common.part_utils import persist_dask_df_equal_parts_per_worker
label_desc: Use image node_id 6 for calling a global function with example usage: test_create_graph_with_edge_ids(dask_client, graph_file) without return types