mirror of
https://github.com/django-q2/django-q2.git
synced 2026-09-15 21:47:53 +08:00
60 lines
1.9 KiB
Python
60 lines
1.9 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
|
|
from django_q.humanhash import uuid
|
|
|
|
|
|
@pytest.mark.django_db
|
|
def test_admin_views(admin_client):
|
|
s = schedule('sched.test')
|
|
tag = uuid()
|
|
f = Task.objects.create(
|
|
id=tag[1],
|
|
name=tag[0],
|
|
func='test.fail',
|
|
started=timezone.now(),
|
|
stopped=timezone.now(),
|
|
success=False)
|
|
tag = uuid()
|
|
t = Task.objects.create(
|
|
id=tag[1],
|
|
name=tag[0],
|
|
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
|