def test_module_test_to_friend_and_back_fi(): try: test_client = connections.connect_test_module_client() test_client.enable_input_messages() friend_client = connections.connect_friend_module_client() friend_client.enable_input_messages() test_input_thread = test_client.wait_for_input_event_async( friend_to_test_input) friend_input_thread = friend_client.wait_for_input_event_async( test_to_friend_input) disconnect_edgehub() sent_message = test_utilities.max_random_string() test_client.send_output_event(test_to_friend_output, sent_message) connect_edgehub() midpoint_message = friend_input_thread.get(receive_timeout) assert midpoint_message == sent_message second_sent_message = test_utilities.max_random_string() friend_client.send_output_event(friend_to_test_output, second_sent_message) received_message = test_input_thread.get(receive_timeout) assert received_message == second_sent_message friend_client.disconnect() test_client.disconnect() finally: restart_edgehub(hard=True)
def test_module_to_friend_routing(): test_client = connections.connect_test_module_client() friend_client = connections.connect_friend_module_client() friend_client.enable_input_messages() friend_input_thread = friend_client.wait_for_input_event_async(test_to_friend_input) sent_message = test_utilities.max_random_string() test_client.send_output_event(test_to_friend_output, sent_message) received_message = friend_input_thread.get(receive_timeout) assert received_message == sent_message friend_client.disconnect() test_client.disconnect()
def test_module_input_output_loopback_fi(): log_message("connecting module client") module_client = connections.connect_test_module_client() log_message("enabling input messages") module_client.enable_input_messages() log_message("listening for input messages") input_thread = module_client.wait_for_input_event_async(input_name) sent_message = test_utilities.max_random_string() disconnect_edgehub() # Disconnect Edgehub module_client.send_output_event(output_name, sent_message) connect_edgehub() # Reconnect Edgehub log_message("sent output event: " + str(sent_message)) log_message("waiting for input message to arrive") received_message = input_thread.get(receive_timeout) log_message("input message arrived") log_message("expected message: " + str(sent_message)) log_message("received message: " + str(received_message)) assert received_message == sent_message module_client.disconnect()
def test_device_receive_c2d(): device_client = None service = None try: device_client = connections.connect_test_device_client() service = connections.connect_service_client() sent_message = test_utilities.max_random_string() device_client.enable_c2d() test_input_thread = device_client.wait_for_c2d_message_async() service.send_c2d(get_current_config().test_device.device_id, sent_message) received_message = test_input_thread.get(receive_timeout) assert received_message == sent_message finally: if device_client: device_client.disconnect() if service: service.disconnect()