def start_rpc_server(): global rpc_server global rpc_server_thread if rpc_server is not None and \ rpc_server_thread is not None: return rpc_server_thread rpc_server = ColaRPCServer((get_ip(), main_conf.client.port)) rpc_server.register_function(stop) thd = threading.Thread(target=rpc_server.serve_forever) thd.setDaemon(True) thd.start() rpc_server_thread = thd return rpc_server_thread
class Test(unittest.TestCase): def client_call(self): server = xmlrpclib.ServerProxy('http://localhost:11103') num = random.randint(0, 100) plus_one_num = server.test_plus_one(num) self.assertEqual(plus_one_num, num + 1) def start_server(self): self.server = ColaRPCServer(('localhost', 11103)) self.server.register_function(test_plus_one) self.server.serve_forever() def setUp(self): self.server_run = threading.Thread(target=self.start_server) def testRPC(self): self.server_run.start() self.client_call() self.server.shutdown() del self.server with self.assertRaises(socket.error): self.client_call()