code: def run_info():
      run_id = str(uuid.uuid4())
      experiment_id = str(random_int(10, 2000))
      user_id = random_str(random_int(10, 25))
      run_name = random_str(random_int(10, 25))
      status = RunStatus.to_string(
          random.choice(RunStatus.all_status())
      )
      start_time = random_int(1, 10)
      end_time = start_time + random_int(1, 10)
      lifecycle_stage = LifecycleStage.ACTIVE
      artifact_uri = random_str(random_int(10, 40))
      ri = RunInfo(
          run_uuid=run_id,
          run_id=run_id,
          run_name=run_name,
          experiment_id=experiment_id,
          user_id=user_id,
          status=status,
          start_time=start_time,
          end_time=end_time,
          lifecycle_stage=lifecycle_stage,
          artifact_uri=artifact_uri,
      )
      return (
          ri,
          run_id,
          run_name,
          experiment_id,
          user_id,
          status,
          start_time,
          end_time,
          lifecycle_stage,
          artifact_uri,
      )
  
file_path: mlflow/tests/entities/conftest.py
imports: import random
  import uuid
  import pytest
  from mlflow.entities import Dataset, DatasetInput, InputTag, LifecycleStage, Metric, Param, RunData, RunInfo, RunInputs, RunStatus, RunTag
  from mlflow.utils.time import get_current_time_millis
  from tests.helper_functions import random_int, random_str
label_desc: Use image node_id 2 for calling a global function with example usage: run_info() and returns: ri,  run_id,  run_name,  experiment_id,  user_id,  status,  start_time,  end_time,  lifecycle_stage,  artifact_uri