def test_rpc_with_xn(self): # get an xn to use for send/recv xn = self.container.ex_manager.create_xn_service('hello') self.addCleanup(xn.delete) # create an RPCServer for a hello service hs = HelloService() rpcs = RPCServer(from_name=xn, service=hs) # spawn the listener, kill on test exit (success/fail/error should cover?) gl_listen = spawn(rpcs.listen) def cleanup(): rpcs.close() gl_listen.join(timeout=2) gl_listen.kill() self.addCleanup(cleanup) # wait for listen to be ready rpcs.get_ready_event().wait(timeout=5) # ok, now create a client using same xn hsc = HelloServiceClient(to_name=xn) # try to message it! ret = hsc.hello('hi there') # did we get back what we expected? self.assertEquals(ret, 'BACK:hi there')