Пример #1
0
def test_rabbitmq_messages_belonging_to_missing_actors_are_rejected(rabbitmq_broker, rabbitmq_worker):
    # Given that I have a broker without actors
    # If I send it a message
    message = Message(queue_name="some-queue", actor_name="some-actor", args=(), kwargs={}, options={})
    rabbitmq_broker.declare_queue(message.queue_name)
    with pytest.raises(ActorNotFound):
        rabbitmq_broker.enqueue(message)
Пример #2
0
def test_messages_belonging_to_missing_actors_are_rejected(stub_broker, stub_worker):
    # Given that I have a broker without actors
    # If I send it a message
    message = Message(queue_name="some-queue", actor_name="some-actor", args=(), kwargs={}, options={},)
    stub_broker.declare_queue("some-queue")
    stub_broker.enqueue(message)

    # Then join on the queue
    stub_broker.join("some-queue")
    stub_worker.join()

    # I expect the message to end up on the dead letter queue
    assert stub_broker.dead_letters == [message]
Пример #3
0
def test_actors_can_be_sent_messages(stub_broker):
    # Given that I have an actor
    @remoulade.actor
    def add(x, y):
        return x + y

    # And this actor is declared
    stub_broker.declare_actor(add)

    # If I send it a message,
    # I expect it to enqueue a message
    enqueued_message = add.send(1, 2)
    enqueued_message_data = stub_broker.queues["default"].get(timeout=1)
    assert enqueued_message == Message.decode(enqueued_message_data)