code: def test_classifier_monitoring(
      mocked_client, classifier_monitor, classifier_dataset
  ):
      delete_ignoring_errors(classifier_dataset)
  
      expected_text = "This is a text, yeah"
      classifier_monitor(expected_text)
  
      sleep(1)  # wait for the consumer time
      ds = argilla.load(classifier_dataset)
      df = ds.to_pandas()
      assert len(df) == 1
      record = TextClassificationRecord.parse_obj(
          df.to_dict(orient="records")[0]
      )
      assert record.inputs == {"text": expected_text}
      assert len(record.prediction) == 1
  
      delete_ignoring_errors(classifier_dataset)
      texts = ["This is a text", "And another text here"]
      classifier_monitor(texts)
  
      sleep(1)  # wait for the consumer time
      ds = argilla.load(classifier_dataset)
      df = ds.to_pandas()
      assert len(df) == 2
      assert set([r["text"] for r in df.inputs.values.tolist()]) == set(
          texts
      )
  
      delete_ignoring_errors(classifier_dataset)
      classifier_monitor(expected_text, metadata={"some": "metadata"})
  
      sleep(1)  # wait for the consumer time
      ds = argilla.load(classifier_dataset)
      df = ds.to_pandas()
      assert len(df) == 1
      assert df.metadata.values.tolist()[0] == {"some": "metadata"}
  
imports: from time import sleep
  from typing import List, Union
  import argilla
  import pytest
  from argilla.client.models import TextClassificationRecord
  from tests.integration.utils import delete_ignoring_errors
label_desc: Use image node_id 2 for calling a global function with example usage: test_classifier_monitoring(mocked_client, classifier_monitor, classifier_dataset) without return types