def test_single_threaded_insertion(): global QUEUE_NAME for qtype in QTYPES: tq = TaskQueue(n_threads=0, queue_name=QUEUE_NAME, queue_server=qtype, qurl=QURL) tq.purge() if qtype != 'aws': assert tq.enqueued == 0 n_inserts = 5 for _ in range(n_inserts): task = PrintTask() tq.insert(task) tq.wait() if qtype != 'aws': assert tq.enqueued == n_inserts assert all(map(lambda x: type(x) == PrintTask, tq.list())) tq.purge() if qtype != 'aws': assert tq.enqueued == 0
def test_multi_threaded_insertion(): global QUEUE_NAME for qtype in QTYPES: tq = TaskQueue(n_threads=40, queue_name=QUEUE_NAME, queue_server=qtype, qurl=QURL) n_inserts = 100 tq.purge() tq.wait() if qtype != 'aws': assert tq.enqueued == 0 for _ in range(n_inserts): task = PrintTask() tq.insert(task) tq.wait() if qtype == 'aws': list_len = 10 else: list_len = 100 lst = tq.list() assert len(lst) == list_len # task list api only lists 100 items at a time assert all(map(lambda x: type(x) == PrintTask, lst)) tq.purge() if qtype != 'aws': assert tq.enqueued == 0
def test_get(): global QUEUE_NAME for qtype in QTYPES: tq = TaskQueue(n_threads=0, queue_name=QUEUE_NAME, queue_server=qtype, qurl=QURL) n_inserts = 5 tq.purge() for _ in range(n_inserts): task = PrintTask() tq.insert(task) tq.wait() tq.purge()