def test_should_stop_processing_when_reaching_throughput_limit(actor): mailbox = InternalMailbox(Mock(), actor, throughput=2) mailbox.enqueue(1) mailbox.enqueue(1) mailbox.enqueue(1) mailbox.process_messages() assert actor.handle_message.call_count == 2
def test_suspending_in_handler_interrupts_processing(actor): mailbox = InternalMailbox(Mock(), actor, throughput=5) actor.handle_message.side_effect = lambda *args: mailbox.suspend() mailbox.enqueue(Mock()) mailbox.enqueue(Mock()) mailbox.process_messages() assert actor.handle_message.call_count == 1