Ejemplo n.º 1
0
async def test_async_queue_by_queue_client_conn_str_receive_handler_receiveanddelete(
        live_servicebus_config, standard_queue):
    queue_client = QueueClient.from_connection_string(
        live_servicebus_config['conn_str'], name=standard_queue, debug=True)
    queue_client.get_properties()

    async with queue_client.get_sender() as sender:
        for i in range(10):
            message = Message("Handler message no. {}".format(i))
            message.enqueue_sequence_number = i
            await sender.send(message)

    messages = []
    receiver = queue_client.get_receiver(
        mode=ReceiveSettleMode.ReceiveAndDelete, idle_timeout=5)
    async for message in receiver:
        messages.append(message)
        with pytest.raises(MessageAlreadySettled):
            await message.complete()

    assert not receiver.running
    assert len(messages) == 10
    time.sleep(30)

    messages = []
    receiver = queue_client.get_receiver(
        mode=ReceiveSettleMode.ReceiveAndDelete, idle_timeout=5)
    async for message in receiver:
        messages.append(message)
    assert len(messages) == 0
Ejemplo n.º 2
0
async def test_async_queue_by_queue_client_conn_str_receive_handler_peeklock(
        live_servicebus_config, standard_queue):
    queue_client = QueueClient.from_connection_string(
        live_servicebus_config['conn_str'], name=standard_queue, debug=True)
    queue_client.get_properties()

    async with queue_client.get_sender() as sender:
        for i in range(10):
            message = Message("Handler message no. {}".format(i))
            message.enqueue_sequence_number = i
            await sender.send(message)

    with pytest.raises(ValueError):
        queue_client.get_receiver(session="test", idle_timeout=5)

    receiver = queue_client.get_receiver(idle_timeout=5)
    count = 0
    async for message in receiver:
        print_message(message)
        count += 1
        await message.complete()

    assert count == 10