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.assertTrue(srvc.GetRequestClass(service_descriptor.methods[1]) is unittest_pb2.BarRequest) self.assertTrue(srvc.GetResponseClass(service_descriptor.methods[1]) is unittest_pb2.BarResponse) 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)
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.DESCRIPTOR 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)