code: def test_client_logs_metric_steps_correctly():
      client = MlflowAutologgingQueueingClient()
  
      with mlflow.start_run() as run:
          for step in range(3):
              client.log_metrics(
                  run_id=run.info.run_id, metrics={"a": 1}, step=step
              )
          client.flush()
  
      metric_history = MlflowClient().get_metric_history(
          run_id=run.info.run_id, key="a"
      )
      assert len(metric_history) == 3
      assert [metric.step for metric in metric_history] == list(
          range(3)
      )
  
imports: import time
  from unittest import mock
  import pytest
  import mlflow
  from mlflow import MlflowClient
  from mlflow.exceptions import MlflowException
  from mlflow.utils import _truncate_dict
  from mlflow.utils.autologging_utils import MlflowAutologgingQueueingClient
  from mlflow.utils.validation import MAX_ENTITY_KEY_LENGTH, MAX_METRICS_PER_BATCH, MAX_PARAM_VAL_LENGTH, MAX_PARAMS_TAGS_PER_BATCH, MAX_TAG_VAL_LENGTH
label_desc: Use image node_id 6 for calling a global function with example usage: test_client_logs_metric_steps_correctly() without return types