code: def test_search_registered_models_by_tag(store):
      name1 = "test_for_search_RM_by_tag1"
      name2 = "test_for_search_RM_by_tag2"
      tags1 = [
          RegisteredModelTag("t1", "abc"),
          RegisteredModelTag("t2", "xyz"),
      ]
      tags2 = [
          RegisteredModelTag("t1", "abcd"),
          RegisteredModelTag("t2", "xyz123"),
          RegisteredModelTag("t3", "XYZ"),
      ]
      store.create_registered_model(name1, tags1)
      store.create_registered_model(name2, tags2)
  
      res = _search_registered_models(store, "tag.t3 = 'XYZ'")
      assert res.names == [name2]
  
      res = _search_registered_models(
          store, f"name = '{name1}' and tag.t1 = 'abc'"
      )
      assert res.names == [name1]
  
      res = _search_registered_models(store, "tag.t1 LIKE 'ab%'")
      assert res.names == [name1, name2]
  
      res = _search_registered_models(store, "tag.t1 ILIKE 'aB%'")
      assert res.names == [name1, name2]
  
      res = _search_registered_models(
          store, "tag.t1 LIKE 'ab%' AND tag.t2 LIKE 'xy%'"
      )
      assert res.names == [name1, name2]
  
      res = _search_registered_models(store, "tag.t3 = 'XYz'")
      assert res.names == []
  
      res = _search_registered_models(store, "tag.T3 = 'XYZ'")
      assert res.names == []
  
      res = _search_registered_models(store, "tag.t1 != 'abc'")
      assert res.names == [name2]
  
      # test filter with duplicated keys
      res = _search_registered_models(
          store, "tag.t1 != 'abcd' and tag.t1 LIKE 'ab%'"
      )
      assert res.names == [name1]
  
imports: import time
  import uuid
  from typing import List, NamedTuple
  from unittest import mock
  import pytest
  from mlflow.entities.model_registry import ModelVersion, ModelVersionTag, RegisteredModelTag
  from mlflow.exceptions import MlflowException
  from mlflow.protos.databricks_pb2 import INVALID_PARAMETER_VALUE, RESOURCE_DOES_NOT_EXIST, ErrorCode
  from mlflow.store.model_registry.file_store import FileStore
  from mlflow.utils.file_utils import path_to_local_file_uri, write_yaml
  from mlflow.utils.time import get_current_time_millis
  from tests.helper_functions import random_int, random_str
label_desc: Use image node_id 32 for calling a global function with example usage: test_search_registered_models_by_tag(store) without return types