code: def test_infer_artifact_type_and_ext_raise_exception_for_non_file_artifact(
      tmp_path, cm_fn_tuple
  ):
      with pytest.raises(
          MlflowException, match=f"with path '{tmp_path}' is not a file"
      ):
          _infer_artifact_type_and_ext(
              "non_file_artifact", tmp_path, cm_fn_tuple
          )
  
file_path: mlflow/tests/models/test_artifacts.py
imports: import json
  import pathlib
  import matplotlib.pyplot
  import numpy
  import pandas
  import pytest
  from mlflow.exceptions import MlflowException
  from mlflow.models.evaluation.artifacts import CsvEvaluationArtifact, ImageEvaluationArtifact, JsonEvaluationArtifact, NumpyEvaluationArtifact, ParquetEvaluationArtifact, PickleEvaluationArtifact, TextEvaluationArtifact, _infer_artifact_type_and_ext
  from mlflow.models.evaluation.default_evaluator import _CustomArtifact
label_desc: Use image node_id 6 for calling a global function with example usage: test_infer_artifact_type_and_ext_raise_exception_for_non_file_artifact(tmp_path, cm_fn_tuple) without return types