class_docstr: Mock implementation of a BatchingNodeProvider.
code: def get_node_data(self) -> Dict[NodeID, NodeData]:
      self.num_non_terminated_nodes_calls += 1
      return self._node_data_dict
  
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 2 for calling the MockBatchingNodeProvider obj's underlying member method code with example usage: obj.get_node_data() and returns: self