code: def test_get_data_profile_works_for_empty_data_frame():
      with mock.patch.object(
          pandas_renderer, "get_html"
      ) as mock_pandas_renderer_html:
          data_frame = DataFrame()
          truncated_df = truncate_pandas_data_profile(
              "fake profile", data_frame
          )
          assert truncated_df[1].shape == (0, 0)
          get_pandas_data_profiles([["fake profile", data_frame]])
          # Initial index of [0][0][0] are from call_args_list to get the 0th call.
          # The next [0][1] are because of the pandas_renderer get_html API
          assert mock_pandas_renderer_html.call_args_list[0][0][0][0][
              1
          ].shape == (0, 0)
  
file_path: mlflow/tests/recipes/test_step_utils.py
imports: from unittest import mock
  import numpy
  import pytest
  from pandas import DataFrame
  import mlflow.recipes.utils.step
  from mlflow.exceptions import MlflowException
  from mlflow.recipes.cards import pandas_renderer
  from mlflow.recipes.utils.step import display_html, get_merged_eval_metrics, get_pandas_data_profiles, truncate_pandas_data_profile
label_desc: Use image node_id 7 for calling a global function with example usage: test_get_data_profile_works_for_empty_data_frame() without return types