code: def test_atomic_crud_operations(
      monkeypatch, mocked_client, log_dataset
  ):
      rule = Rule(query="inputs.text:(NOT positive)", label="negative")
      with pytest.raises(RuleNotAppliedError):
          rule(TextClassificationRecord(text="test"))
  
      monkeypatch.setattr(httpx, "get", mocked_client.get)
      monkeypatch.setattr(httpx, "patch", mocked_client.patch)
      monkeypatch.setattr(httpx, "delete", mocked_client.delete)
      monkeypatch.setattr(httpx, "post", mocked_client.post)
      monkeypatch.setattr(httpx, "stream", mocked_client.stream)
  
      rule.add_to_dataset(log_dataset)
  
      rules = load_rules(log_dataset)
      assert len(rules) == 1
      assert rules[0].query == "inputs.text:(NOT positive)"
      assert rules[0].label == "negative"
  
      rule.remove_from_dataset(log_dataset)
  
      rules = load_rules(log_dataset)
      assert len(rules) == 0
  
      rule = Rule(query="inputs.text:(NOT positive)", label="negative")
      rule.add_to_dataset(log_dataset)
      rule.label = "positive"
      rule.update_at_dataset(log_dataset)
  
      rules = load_rules(log_dataset)
      assert len(rules) == 1
      assert rules[0].query == "inputs.text:(NOT positive)"
      assert rules[0].label == "positive"
  
imports: import httpx
  import pytest
  from argilla import User
  from argilla.client.api import copy, delete, load
  from argilla.client.models import TextClassificationRecord
  from argilla.client.sdk.datasets.models import TaskType
  from argilla.client.sdk.text_classification.models import CreationTextClassificationRecord, TextClassificationBulkData
  from argilla.labeling.text_classification import Rule, add_rules, delete_rules, load_rules, update_rules
  from argilla.labeling.text_classification.rule import RuleNotAppliedError
  from argilla.server.errors import EntityNotFoundError
  from tests.integration.helpers import SecuredClient
  from tests.integration.utils import delete_ignoring_errors
label_desc: Use image node_id 4 for calling a global function with example usage: test_atomic_crud_operations(monkeypatch, mocked_client, log_dataset) without return types