mirror of
https://github.com/django-q2/django-q2.git
synced 2026-09-19 02:48:16 +08:00
The core module was becoming too large. By splitting it in cluster, monitor and tasks it becomes more manageable. It also reflects the documentation structure.
54 lines
2.0 KiB
Python
54 lines
2.0 KiB
Python
from django.core.urlresolvers import reverse
|
|
|
|
from django.utils import timezone
|
|
|
|
import pytest
|
|
|
|
from django_q.tasks import schedule
|
|
from django_q.models import Task, Failure
|
|
|
|
|
|
@pytest.mark.django_db
|
|
def test_admin_views(admin_client):
|
|
s = schedule('sched.test')
|
|
f = Task.objects.create(name='alfa-pappa-bravo-fail',
|
|
func='test.fail',
|
|
started=timezone.now(),
|
|
stopped=timezone.now(),
|
|
success=False)
|
|
t = Task.objects.create(name='alfa-pappa-bravo-success',
|
|
func='test.succes',
|
|
started=timezone.now(),
|
|
stopped=timezone.now(),
|
|
success=True)
|
|
admin_urls = (
|
|
# schedule
|
|
reverse('admin:django_q_schedule_changelist'),
|
|
reverse('admin:django_q_schedule_add'),
|
|
reverse('admin:django_q_schedule_change', args=(s.id,)),
|
|
reverse('admin:django_q_schedule_history', args=(s.id,)),
|
|
reverse('admin:django_q_schedule_delete', args=(s.id,)),
|
|
# success
|
|
reverse('admin:django_q_success_changelist'),
|
|
reverse('admin:django_q_success_change', args=(t.id,)),
|
|
reverse('admin:django_q_success_history', args=(t.id,)),
|
|
reverse('admin:django_q_success_delete', args=(t.id,)),
|
|
# failure
|
|
reverse('admin:django_q_failure_changelist'),
|
|
reverse('admin:django_q_failure_change', args=(f.id,)),
|
|
reverse('admin:django_q_failure_history', args=(f.id,)),
|
|
reverse('admin:django_q_failure_delete', args=(f.id,)),
|
|
|
|
)
|
|
for url in admin_urls:
|
|
response = admin_client.get(url)
|
|
assert response.status_code == 200
|
|
|
|
# resubmit the failure
|
|
url = reverse('admin:django_q_failure_changelist')
|
|
data = {'action': 'retry_failed',
|
|
'_selected_action': [f.pk]}
|
|
response = admin_client.post(url, data)
|
|
assert response.status_code == 302
|
|
assert Failure.objects.filter(name=f.id).exists() is False
|