code: def test_graph_creation_edge_properties(
      dask_client, graph_file, edge_props
  ):
      df = utils.read_csv_file(graph_file)
  
      df["edge_id"] = cupy.arange(len(df), dtype="int32")
      df["edge_type"] = cupy.int32(3)
      df["weight"] = 0.5
  
      df = dask_cudf.from_cudf(df, npartitions=2)
  
      prop_keys = {k: k for k in edge_props}
  
      G = cugraph.Graph(directed=True)
      G.from_dask_cudf_edgelist(
          df, source="0", destination="1", **prop_keys
      )
  
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 12 for calling a global function with example usage: test_graph_creation_edge_properties(dask_client, graph_file, edge_props) without return types