feat: add async job queue
This commit is contained in:
40
tests/test_queue.py
Normal file
40
tests/test_queue.py
Normal file
@@ -0,0 +1,40 @@
|
||||
import pytest
|
||||
import asyncio
|
||||
|
||||
from app.queue import JobQueue
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_enqueue_and_dequeue():
|
||||
queue = JobQueue()
|
||||
|
||||
await queue.enqueue("job_123")
|
||||
job_id = await queue.dequeue()
|
||||
|
||||
assert job_id == "job_123"
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_queue_ordering():
|
||||
queue = JobQueue()
|
||||
|
||||
await queue.enqueue("job_1")
|
||||
await queue.enqueue("job_2")
|
||||
await queue.enqueue("job_3")
|
||||
|
||||
assert await queue.dequeue() == "job_1"
|
||||
assert await queue.dequeue() == "job_2"
|
||||
assert await queue.dequeue() == "job_3"
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_queue_size():
|
||||
queue = JobQueue()
|
||||
|
||||
assert queue.size() == 0
|
||||
await queue.enqueue("job_1")
|
||||
assert queue.size() == 1
|
||||
await queue.enqueue("job_2")
|
||||
assert queue.size() == 2
|
||||
await queue.dequeue()
|
||||
assert queue.size() == 1
|
||||
Reference in New Issue
Block a user