code: def test_list_dimensions(
      mf_client: MetricFlowClient,
  ) -> None:  # noqa: D
      dimensions = mf_client.list_dimensions(["bookings"])
  
      assert dimensions
      assert isinstance(dimensions[0], Dimension)
  
      dimensions = mf_client.list_dimensions(["bookings", "revenue"])
  
      assert len(dimensions) == 2
      assert tuple(dim.name for dim in dimensions) == (
          "metric_time",
          "metric_time",
      )
  
file_path: metricflow/metricflow/test/api/test_metricflow_client.py
imports: from __future__ import annotations
  from dbt_semantic_interfaces.validations.validator_helpers import SemanticManifestValidationResults
  from metricflow.api.metricflow_client import MetricFlowClient
  from metricflow.dataflow.sql_table import SqlTable
  from metricflow.engine.models import Dimension, Metric
  from metricflow.random_id import random_id
  from metricflow.test.fixtures.setup_fixtures import MetricFlowTestSessionState
label_desc: Use image node_id 4 for calling a global function with example usage: test_list_dimensions(mf_client) without return types