code: def test_dbscan_propagation(datatype, out_dtype, client):
      from cuml.dask.cluster.dbscan import DBSCAN as cuDBSCAN
  
      X, y = make_blobs(
          5000,
          centers=1,
          cluster_std=8.0,
          center_box=(-100.0, 100.0),
          random_state=8,
      )
      X = X.astype(datatype)
  
      eps = 0.5
      cuml_dbscan = cuDBSCAN(
          eps=eps, min_samples=5, output_type="numpy"
      )
      cu_labels = cuml_dbscan.fit_predict(X, out_dtype=out_dtype)
  
      sk_dbscan = skDBSCAN(eps=eps, min_samples=5)
      sk_labels = sk_dbscan.fit_predict(X)
  
      # Check the core points are equal
      assert array_equal(
          cuml_dbscan.core_sample_indices_,
          sk_dbscan.core_sample_indices_,
      )
  
      # Check the labels are correct
      assert_dbscan_equal(
          sk_labels, cu_labels, X, cuml_dbscan.core_sample_indices_, eps
      )
  
file_path: cuml/python/cuml/tests/dask/test_dask_dbscan.py
imports: from sklearn.preprocessing import StandardScaler
  from sklearn.metrics import pairwise_distances
  from sklearn.datasets import make_blobs
  from sklearn.cluster import DBSCAN
  from cuml.testing.utils import get_pattern, unit_param, quality_param, stress_param, array_equal, assert_dbscan_equal
  import pytest
  from cuml.internals.safe_imports import cpu_only_import
label_desc: Use image node_id 6 for calling a global function with example usage: test_dbscan_propagation(datatype, out_dtype, client) without return types