code: def testService(self):
      class MockRpcChannel(service.RpcChannel):
          def CallMethod(
              self, method, controller, request, response, callback
          ):
              self.method = method
              self.controller = controller
              self.request = request
              callback(response)
  
      class MockRpcController(service.RpcController):
          def SetFailed(self, msg):
              self.failure_message = msg
  
      self.callback_response = None
  
      class MyService(unittest_pb2.TestService):
          pass
  
      self.callback_response = None
  
      def MyCallback(response):
          self.callback_response = response
  
      rpc_controller = MockRpcController()
      channel = MockRpcChannel()
      srvc = MyService()
      srvc.Foo(rpc_controller, unittest_pb2.FooRequest(), MyCallback)
      self.assertEqual(
          "Method Foo not implemented.", rpc_controller.failure_message
      )
      self.assertEqual(None, self.callback_response)
  
      rpc_controller.failure_message = None
  
      service_descriptor = unittest_pb2.TestService.GetDescriptor()
      srvc.CallMethod(
          service_descriptor.methods[1],
          rpc_controller,
          unittest_pb2.BarRequest(),
          MyCallback,
      )
      self.assertEqual(
          "Method Bar not implemented.", rpc_controller.failure_message
      )
      self.assertEqual(None, self.callback_response)
  
      class MyServiceImpl(unittest_pb2.TestService):
          def Foo(self, rpc_controller, request, done):
              self.foo_called = True
  
          def Bar(self, rpc_controller, request, done):
              self.bar_called = True
  
      srvc = MyServiceImpl()
      rpc_controller.failure_message = None
      srvc.Foo(rpc_controller, unittest_pb2.FooRequest(), MyCallback)
      self.assertEqual(None, rpc_controller.failure_message)
      self.assertEqual(True, srvc.foo_called)
  
      rpc_controller.failure_message = None
      srvc.CallMethod(
          service_descriptor.methods[1],
          rpc_controller,
          unittest_pb2.BarRequest(),
          MyCallback,
      )
      self.assertEqual(None, rpc_controller.failure_message)
      self.assertEqual(True, srvc.bar_called)
  
file_path: coremltools/deps/protobuf/python/compatibility_tests/v2.5.0/tests/google/protobuf/internal/service_reflection_test.py
imports: import unittest
  from google.protobuf import unittest_pb2
  from google.protobuf import service_reflection
  from google.protobuf import service
label_desc: Use image node_id 1 for calling the FooUnitTest obj's underlying member method code with example usage: obj.testService() without return types