示例#1
0
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()