From 0e32d162f7168c3f0967e32cb72c1f531dcd4973 Mon Sep 17 00:00:00 2001 From: Jan Dittberner Date: Sun, 1 Feb 2015 03:00:14 +0100 Subject: [PATCH] fix taskresults.tests --- docs/changelog.rst | 1 + gnuviechadmin/.coveragerc | 2 +- gnuviechadmin/taskresults/tests/__init__.py | 0 .../taskresults/tests/test_models.py | 54 +++++++++++++++++++ 4 files changed, 56 insertions(+), 1 deletion(-) create mode 100644 gnuviechadmin/taskresults/tests/__init__.py create mode 100644 gnuviechadmin/taskresults/tests/test_models.py diff --git a/docs/changelog.rst b/docs/changelog.rst index 45b9d11..11ad356 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -1,6 +1,7 @@ Changelog ========= +* :support:`-` move taskresults tests to tasksresults.tests and fix them * :support:`-` cache result of get_hosting_package method of gvawebcore.views.HostingPackageAndCustomerMixin to improve page loading performance diff --git a/gnuviechadmin/.coveragerc b/gnuviechadmin/.coveragerc index 1f6fac4..2ca7e1c 100644 --- a/gnuviechadmin/.coveragerc +++ b/gnuviechadmin/.coveragerc @@ -1,5 +1,5 @@ [run] -source = gnuviechadmin,managemails,osusers,domains +source = gnuviechadmin,managemails,osusers,domains,taskresults,gvawebcore,userdbs [report] omit = */migrations/*,*/tests/*.py,*/tests.py,gnuviechadmin/settings/local.py,gnuviechadmin/settings/production.py diff --git a/gnuviechadmin/taskresults/tests/__init__.py b/gnuviechadmin/taskresults/tests/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/gnuviechadmin/taskresults/tests/test_models.py b/gnuviechadmin/taskresults/tests/test_models.py new file mode 100644 index 0000000..dcace59 --- /dev/null +++ b/gnuviechadmin/taskresults/tests/test_models.py @@ -0,0 +1,54 @@ +from __future__ import absolute_import, unicode_literals +from django.test import TestCase + +from mock import patch, MagicMock +from taskresults.models import TaskResult + + +TEST_TASK_UUID = '3120f6a8-2665-4fa3-a785-79efd28bfe92' +TEST_TASK_NAME = 'test.task' +TEST_TASK_RESULT = '4ll y0ur b453 4r3 b3l0ng t0 u5' + + +class TaskResultTest(TestCase): + @patch('taskresults.models.app') + def test_update_taskstatus_unfinished(self, app): + mock = MagicMock(id=TEST_TASK_UUID, task_name=TEST_TASK_NAME) + mock.ready.return_value = False + tr = TaskResult.objects.create_task_result(mock, TEST_TASK_NAME) + self.assertFalse(tr.finished) + mymock = app.AsyncResult(TEST_TASK_UUID) + mymock.state = 'SUCCESS' + mymock.get.return_value = TEST_RESULT + tr.fetch_result() + mymock.get.assert_called_with(no_ack=True, timeout=1) + self.assertTrue(tr.finished) + + @patch('taskresults.models.app') + def test_update_taskstatus_finished(self, app): + mock = MagicMock(id=TEST_TASK_UUID, task_name=TEST_TASK_NAME) + mock.ready.return_value = True + mock.state = 'SUCCESS' + mock.result = TEST_RESULT + tr = TaskResult.objects.create_task_result(mock, TEST_TASK_NAME) + tr.fetch_result() + self.assertTrue(tr.finished) + mymock = app.AsyncResult(TEST_TASK_UUID) + tr.fetch_result() + self.assertEqual(mymock.get.call_count, 1) + self.assertTrue(tr.finished) + + +TEST_RESULT = MagicMock() +TEST_RESULT.task_id = TEST_TASK_UUID +TEST_RESULT.task_name = TEST_TASK_NAME +TEST_RESULT.ready.return_value = False + + +class TaskResultManagerTest(TestCase): + def test_create_task_result(self): + mock = MagicMock(id=TEST_TASK_UUID) + tr = TaskResult.objects.create_task_result(mock, TEST_TASK_NAME) + self.assertIsInstance(tr, TaskResult) + self.assertEqual(tr.task_id, TEST_TASK_UUID) + self.assertEqual(tr.task_name, TEST_TASK_NAME)