def test_get_active_worker_queues(self) -> None: worker_queue_count = (len(QueueProcessingWorker.__subclasses__()) + len(EmailSendingWorker.__subclasses__()) + len(LoopQueueProcessingWorker.__subclasses__()) - 1) self.assertEqual(worker_queue_count, len(get_active_worker_queues())) self.assertEqual(1, len(get_active_worker_queues(queue_type='test')))
def test_get_active_worker_queues(self) -> None: test_queue_names = set(get_active_worker_queues(only_test_queues=True)) # Actually 6, but test_timeouts, which defines TimeoutWorker, # is called after this self.assertEqual(5, len(test_queue_names)) worker_queue_classes: Set[Type[QueueProcessingWorker]] = set() worker_queue_classes.update(QueueProcessingWorker.__subclasses__()) worker_queue_classes.update(EmailSendingWorker.__subclasses__()) worker_queue_classes.update(LoopQueueProcessingWorker.__subclasses__()) # Remove the abstract class worker_queue_classes -= set( [queue_processors.LoopQueueProcessingWorker]) # This misses that TestWorker, defined in test_worker_noname # with no assign_queue, because it runs after this worker_queue_names = set([x.queue_name for x in worker_queue_classes]) self.assertEqual(set(get_active_worker_queues()), worker_queue_names - test_queue_names)