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)
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]
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)