mirror of
https://github.com/django-q2/django-q2.git
synced 2026-10-09 16:40:56 +08:00
Remove arrow dependency, update packages, set up testing with compose (#17)
This commit is contained in:
@@ -7,6 +7,7 @@ import redis
|
||||
from django_q.brokers import Broker, get_broker
|
||||
from django_q.conf import Conf
|
||||
from django_q.humanhash import uuid
|
||||
from django_q.tests.settings import REDIS_HOST, MONGO_HOST
|
||||
|
||||
|
||||
def test_broker(monkeypatch):
|
||||
@@ -40,11 +41,11 @@ def test_redis(monkeypatch):
|
||||
broker = get_broker()
|
||||
assert broker.ping() is True
|
||||
assert broker.info() is not None
|
||||
monkeypatch.setattr(Conf, "REDIS", {"host": "127.0.0.1", "port": 7799})
|
||||
monkeypatch.setattr(Conf, "REDIS", {"host": REDIS_HOST, "port": 7799})
|
||||
broker = get_broker()
|
||||
with pytest.raises(Exception):
|
||||
broker.ping()
|
||||
monkeypatch.setattr(Conf, "REDIS", "redis://127.0.0.1:7799")
|
||||
monkeypatch.setattr(Conf, "REDIS", f"redis://{REDIS_HOST}:7799")
|
||||
broker = get_broker()
|
||||
with pytest.raises(Exception):
|
||||
broker.ping()
|
||||
@@ -58,68 +59,6 @@ def test_custom(monkeypatch):
|
||||
assert broker.__class__.__name__ == "Redis"
|
||||
|
||||
|
||||
def test_disque(monkeypatch):
|
||||
monkeypatch.setattr(Conf, "DISQUE_NODES", ["127.0.0.1:7711"])
|
||||
# check broker
|
||||
broker = get_broker(list_key="disque_test")
|
||||
assert broker.ping() is True
|
||||
assert broker.info() is not None
|
||||
# clear before we start
|
||||
broker.delete_queue()
|
||||
# async_task
|
||||
broker.enqueue("test")
|
||||
assert broker.queue_size() == 1
|
||||
# dequeue
|
||||
task = broker.dequeue()[0]
|
||||
assert task[1] == "test"
|
||||
broker.acknowledge(task[0])
|
||||
assert broker.queue_size() == 0
|
||||
# Retry test
|
||||
monkeypatch.setattr(Conf, "RETRY", 1)
|
||||
broker.enqueue("test")
|
||||
assert broker.queue_size() == 1
|
||||
broker.dequeue()
|
||||
assert broker.queue_size() == 0
|
||||
sleep(1.5)
|
||||
assert broker.queue_size() == 1
|
||||
task = broker.dequeue()[0]
|
||||
assert broker.queue_size() == 0
|
||||
broker.acknowledge(task[0])
|
||||
sleep(1.5)
|
||||
assert broker.queue_size() == 0
|
||||
# delete job
|
||||
task_id = broker.enqueue("test")
|
||||
broker.delete(task_id)
|
||||
assert broker.dequeue() is None
|
||||
# fail
|
||||
task_id = broker.enqueue("test")
|
||||
broker.fail(task_id)
|
||||
# bulk test
|
||||
for _ in range(5):
|
||||
broker.enqueue("test")
|
||||
monkeypatch.setattr(Conf, "BULK", 5)
|
||||
monkeypatch.setattr(Conf, "DISQUE_FASTACK", True)
|
||||
tasks = broker.dequeue()
|
||||
for task in tasks:
|
||||
assert task is not None
|
||||
broker.acknowledge(task[0])
|
||||
# test duplicate acknowledge
|
||||
broker.acknowledge(task[0])
|
||||
# delete queue
|
||||
broker.enqueue("test")
|
||||
broker.enqueue("test")
|
||||
broker.delete_queue()
|
||||
assert broker.queue_size() == 0
|
||||
# connection test
|
||||
monkeypatch.setattr(Conf, "DISQUE_NODES", ["127.0.0.1:7798", "127.0.0.1:7799"])
|
||||
with pytest.raises(redis.exceptions.ConnectionError):
|
||||
broker.get_connection()
|
||||
# connection test with no nodes
|
||||
monkeypatch.setattr(Conf, "DISQUE_NODES", None)
|
||||
with pytest.raises(redis.exceptions.ConnectionError):
|
||||
broker.get_connection()
|
||||
|
||||
|
||||
@pytest.mark.skipif(
|
||||
not os.getenv("IRON_MQ_TOKEN"), reason="requires IronMQ credentials"
|
||||
)
|
||||
@@ -312,7 +251,7 @@ def test_orm(monkeypatch):
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_mongo(monkeypatch):
|
||||
monkeypatch.setattr(Conf, "MONGO", {"host": "127.0.0.1", "port": 27017})
|
||||
monkeypatch.setattr(Conf, "MONGO", {"host": MONGO_HOST, "port": 27017})
|
||||
# check broker
|
||||
broker = get_broker(list_key="mongo_test")
|
||||
assert broker.ping() is True
|
||||
|
||||
Reference in New Issue
Block a user