def test_15_insert_transaction(self): print("\n-----", sys._getframe().f_code.co_name, "-----") clients[0]['app'].insert_transaction(transactions[2]) time.sleep(1) print(" ----> wait for notification") for j in range( client_num - 1 ): # client4 won't receive NOTIFY_INSERTED because it canceled. check_insert_response(j, transactions[2].transaction_id) if j == 0: check_insert_response(j, transactions[2].transaction_id) time.sleep(1) clients[1]['app'].insert_transaction(transactions[3]) time.sleep(1) print(" ----> wait for notification") check_insert_response(1, transactions[3].transaction_id) for i in range(core_num): diff_notify = get_stat_diffs(i)['data_handler'].get( 'NOTIFY_INSERTED', 0) print("[%d] received num of NOTIFY_INSERTED = %d" % (i, diff_notify)) if i in [ 0, 4 ]: # core0 directly sends NOTIFY_INSERTED to client0 (so, the data_handler doesn't receive it) assert diff_notify == 0 else: assert diff_notify == 1
def test_21_insert_transactions(self): print("\n-----", sys._getframe().f_code.co_name, "-----") clients[2]['app'].insert_transaction(transactions[4]) time.sleep(1) print(" ----> wait for notification") for j in range(client_num - 2): check_insert_response(j, transactions[4].transaction_id) if j == 2: check_insert_response(j, transactions[4].transaction_id) time.sleep(1) clients[1]['app'].insert_transaction(transactions[5]) time.sleep(1) print(" ----> wait for notification") check_insert_response(1, transactions[5].transaction_id) for i in range(core_num): diff_notify = get_stat_diffs(i)['data_handler'].get( 'NOTIFY_INSERTED', 0) print("[%d] received num of NOTIFY_INSERTED = %d" % (i, diff_notify)) if i in [2, 4]: assert diff_notify == 0 else: assert diff_notify == 1
def test_20_close_client_connection(self): print("\n-----", sys._getframe().f_code.co_name, "-----") clients[3]['app'].connection.close() # disconnection will invoke LEAVE_MULTICAST_RECEIVER time.sleep(1) for i in range(core_num): diff_val = get_stat_diffs(i)['user_message'].get('LEAVE_MULTICAST_RECEIVER', 0) print("[%d] received num of LEAVE_MULTICAST_RECEIVER = %d" % (i, diff_val)) if i == 3: # core3 is initiating node that sends LEAVE_MULTICAST_RECEIVER (no receive) assert diff_val == 0 else: assert diff_val == 1