code: def test_randomize_blocks_e2e(
      ray_start_regular_shared, enable_optimizer
  ):
      ds = ray.data.range(12, parallelism=4)
      ds = ds.randomize_block_order(seed=0)
      assert extract_values("id", ds.take_all()) == [
          6,
          7,
          8,
          0,
          1,
          2,
          3,
          4,
          5,
          9,
          10,
          11,
      ], ds
  
file_path: ray/python/ray/data/tests/test_randomize_block_order.py
imports: import pytest
  import ray
  from ray.data._internal.execution.operators.base_physical_operator import AllToAllOperator
  from ray.data._internal.execution.operators.map_operator import MapOperator
  from ray.data._internal.logical.interfaces import LogicalPlan
  from ray.data._internal.logical.operators.all_to_all_operator import RandomizeBlocks, Repartition
  from ray.data._internal.logical.operators.map_operator import AbstractUDFMap, MapBatches
  from ray.data._internal.logical.operators.read_operator import Read
  from ray.data._internal.logical.optimizers import LogicalOptimizer
  from ray.data._internal.logical.rules.randomize_blocks import ReorderRandomizeBlocksRule
  from ray.data._internal.planner.planner import Planner
  from ray.data.tests.test_util import get_parquet_read_logical_op
  from ray.data.tests.util import extract_values
label_desc: Use image node_id 5 for calling a global function with example usage: test_randomize_blocks_e2e(ray_start_regular_shared, enable_optimizer) without return types