code: def test_string_repr():
      run_info = RunInfo(
          run_uuid="hi",
          run_id="hi",
          run_name="name",
          experiment_id=0,
          user_id="user-id",
          status=RunStatus.FAILED,
          start_time=0,
          end_time=1,
          lifecycle_stage=LifecycleStage.ACTIVE,
      )
      metrics = [
          Metric(key=f"key-{i}", value=i, timestamp=0, step=i)
          for i in range(3)
      ]
      run_data = RunData(metrics=metrics, params=[], tags=[])
      dataset_inputs = DatasetInput(
          dataset=Dataset(
              name="name1",
              digest="digest1",
              source_type="my_source_type",
              source="source",
          ),
          tags=[],
      )
      run_inputs = RunInputs(dataset_inputs=dataset_inputs)
      run1 = Run(run_info, run_data, run_inputs)
      expected = (
          "<Run: data=<RunData: metrics={'key-0': 0, 'key-1': 1, 'key-2': 2}, "
          "params={}, tags={}>, info=<RunInfo: artifact_uri=None, end_time=1, "
          "experiment_id=0, lifecycle_stage='active', run_id='hi', run_name='name', "
          "run_uuid='hi', start_time=0, status=4, user_id='user-id'>, inputs=<RunInputs: "
          "dataset_inputs=<DatasetInput: dataset=<Dataset: digest='digest1', "
          "name='name1', profile=None, schema=None, source='source', "
          "source_type='my_source_type'>, tags=[]>>>"
      )
      assert str(run1) == expected
  
file_path: mlflow/tests/entities/test_run.py
imports: import pytest
  from mlflow.entities import Dataset, DatasetInput, LifecycleStage, Metric, Run, RunData, RunInfo, RunInputs, RunStatus
  from mlflow.exceptions import MlflowException
  from tests.entities.test_run_data import _check
  from tests.entities.test_run_info import _check
  from tests.entities.test_run_inputs import _check
label_desc: Use image node_id 3 for calling a global function with example usage: test_string_repr() without return types