code: def test_enforce_property_with_errors():
      with pytest.raises(
          MlflowException,
          match=r"Failed to enforce schema of data `123` with dtype `string`",
      ):
          _enforce_property(123, Property("a", DataType.string))
  
      with pytest.raises(
          MlflowException, match=r"Missing required properties: {'a'}"
      ):
          _enforce_property(
              {"b": ["some_sentence1", "some_sentence2"]},
              Property(
                  "any_name",
                  Object(
                      [
                          Property("a", DataType.string),
                          Property("b", Array(DataType.string)),
                      ]
                  ),
              ),
          )
  
      with pytest.raises(
          MlflowException,
          match=r"Failed to enforce schema for key `a`. "
          r"Expected type string, received type list",
      ):
          _enforce_property(
              {"a": ["some_sentence1", "some_sentence2"]},
              Property(
                  "any_name", Object([Property("a", DataType.string)])
              ),
          )
  
imports: import random
  from collections import namedtuple
  from unittest import mock
  import numpy
  import pytest
  import sklearn.neighbors
  from sklearn import datasets
  import mlflow
  from mlflow import MlflowClient
  from mlflow.entities.model_registry import ModelVersion
  from mlflow.exceptions import MlflowException
  from mlflow.models import add_libraries_to_model
  from mlflow.models.utils import _enforce_array, _enforce_datatype, _enforce_object, _enforce_property, get_model_version_from_model_uri
  from mlflow.types import DataType
  from mlflow.types.schema import Array, Object, Property
label_desc: Use image node_id 13 for calling a global function with example usage: test_enforce_property_with_errors() without return types