[Backport] Fixing delete project dump asynch task

remotes/origin/logger
Alejandro Alonso 2015-12-21 14:11:13 +01:00 committed by David Barragán Merino
parent 15d8793fe3
commit bff7fe580f
2 changed files with 13 additions and 5 deletions

View File

@ -63,7 +63,7 @@ class ProjectExporterViewSet(mixins.ImportThrottlingPolicyMixin, GenericViewSet)
if settings.CELERY_ENABLED:
task = tasks.dump_project.delay(request.user, project)
tasks.delete_project_dump.apply_async((project.pk, project.slug),
tasks.delete_project_dump.apply_async((project.pk, project.slug, task.id),
countdown=settings.EXPORTS_TTL)
return response.Accepted({"export_id": task.id})

View File

@ -16,6 +16,8 @@
import pytest
from unittest import mock
from django.core.urlresolvers import reverse
from .. import factories as f
@ -61,11 +63,17 @@ def test_valid_project_export_with_celery_enabled(client, settings):
url = reverse("exporter-detail", args=[project.pk])
#delete_project_dump task should have been launched
with mock.patch('taiga.export_import.tasks.delete_project_dump') as delete_project_dump_mock:
response = client.get(url, content_type="application/json")
assert response.status_code == 202
response_data = response.data
assert "export_id" in response_data
args = (project.id, project.slug, response_data["export_id"],)
kwargs = {"countdown": settings.EXPORTS_TTL}
delete_project_dump_mock.apply_async.assert_called_once_with(args, **kwargs)
def test_valid_project_with_throttling(client, settings):
settings.CELERY_ENABLED = False