def test00_test_echo(self): def echo_worker(name, err_queue): cl = OperatorClient('test_node') msg = 'Hello, I am %s'%name for i in xrange(100): ret_msg = cl.echo(msg) if ret_msg != msg: error = '%s != %s'%(ret_msg, msg) print 'ERROR: %s'%error err_queue.put(error) proc = OperatorProcess(Operator, None, None, None, None, server_name='test_node') proc.start() time.sleep(1) try: processes = [] errors = Queue() for i in xrange(20): p = Thread(target=echo_worker, args=('worker #%i'%i, errors)) processes.append(p) t0 = datetime.now() for p in processes: p.start() for p in processes: p.join() if not errors.empty(): raise Exception('ERROR in threads...') print 'stress time: %s'%(datetime.now()-t0) finally: proc.stop() proc.join()
def test01_ret_struct(self): proc = OperatorProcess(Operator, None, None, None, None, server_name='test_node') proc.start() time.sleep(1) try: cl = OperatorClient('test_node') ret = cl.test_ret_struct('test message', 123456) self.assertEqual(len(ret), 2) self.assertEqual(ret[0], 'str_param=test message, int_param=123456') self.assertEqual(ret[1], {'s':'test message', 'i':123456}) ret = cl.test_object(FabnetPacketRequest(method='TestMethod', parameters={'tst': 213})) self.assertEqual(ret.ret_code, 0, ret.ret_message) try: cl.raise_exception('test exception') except Exception, err: from fabnet.core.fri_base import FriException self.assertEqual(err.__class__, FriException) self.assertEqual(str(err), 'test exception') else: