code: def test_calls_forwarded_to_underlying_instance(self):
      self.assertEqual(
          service_jobs.ServiceStatusCode.SUCCESS,
          self._wrapper.ensure_node_services(
              mock.Mock(), "node1", self._backfill_token
          ).code,
      )
      self.assertTrue(
          self._wrapper.stop_node_services(mock.Mock(), "node2")
      )
      self.assertTrue(
          self._wrapper.is_pure_service_node(mock.Mock(), "node3")
      )
      self.assertFalse(
          self._wrapper.is_mixed_service_node(mock.Mock(), "node4")
      )
      self._mock_service_job_manager.ensure_node_services.assert_called_once_with(
          mock.ANY, "node1", self._backfill_token
      )
      self._mock_service_job_manager.stop_node_services.assert_called_once_with(
          mock.ANY, "node2"
      )
      self._mock_service_job_manager.is_pure_service_node.assert_called_once_with(
          mock.ANY, "node3"
      )
      self._mock_service_job_manager.is_mixed_service_node.assert_called_once_with(
          mock.ANY, "node4"
      )
  
file_path: tfx/tfx/orchestration/experimental/core/service_jobs_test.py
imports: from absl.testing.absltest import mock
  import tensorflow
  from tfx.orchestration.experimental.core import service_jobs
  from tfx.orchestration.experimental.core import test_utils
label_desc: Use image node_id 2 for calling the CleanupHandlingServiceJobManagerWrapperTest obj's underlying member method code with example usage: obj.test_calls_forwarded_to_underlying_instance() without return types