Merge pull request #551 from taigaio/fixing-delete-project-dump-asynch-task

Fixing delete project dump asynch task
remotes/origin/logger
David Barragán Merino 2015-12-22 14:03:52 +01:00
commit a64a94b162
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,10 +63,16 @@ def test_valid_project_export_with_celery_enabled(client, settings):
url = reverse("exporter-detail", args=[project.pk])
response = client.get(url, content_type="application/json")
assert response.status_code == 202
response_data = response.data
assert "export_id" in response_data
#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):