class_docstr: Mock implementation of a BatchingNodeProvider.
code: def _add_node(self, node_type, node_kind):
      new_node_id = str(uuid4())
      self._node_data_dict[new_node_id] = NodeData(
          kind=node_kind,
          ip=str(uuid4()),
          status=STATUS_UP_TO_DATE,
          type=node_type,
      )
  
imports: from copy import copy
  from uuid import uuid4
  import os
  import random
  import sys
  from typing import Any, Dict
  from collections import defaultdict
  import pytest
  from ray.autoscaler.batching_node_provider import BatchingNodeProvider, NodeData, ScaleRequest
  from ray.autoscaler._private.util import NodeID, NodeType
  from ray.autoscaler.tags import STATUS_UP_TO_DATE, TAG_RAY_USER_NODE_TYPE, TAG_RAY_NODE_KIND, TAG_RAY_NODE_STATUS, NODE_KIND_HEAD, NODE_KIND_WORKER
  from ray.autoscaler._private.constants import DISABLE_LAUNCH_CONFIG_CHECK_KEY, DISABLE_NODE_UPDATERS_KEY, FOREGROUND_NODE_LAUNCH_KEY
label_desc: Use image node_id 4 for calling the MockBatchingNodeProvider obj's underlying member method code with example usage: obj._add_node(node_type, node_kind) without return types