from django.test import TestCase import json from taskdatabase.models import Task, Workflow, Activity from taskdatabase.services.common import State class TestSummaryTasks(TestCase): def setUp(self): """ initialize test data """ self.workflow_requantisation = Workflow(id=22, workflow_uri="psrfits_requantisation") self.workflow_requantisation.save() self.no_summary_task = Task.objects.create(sas_id=77777, new_status=State.DEFINED.value, workflow=self.workflow_requantisation, outputs={"tar_archive": [{"size": 4885985280, "basename": "L621240_SAP002_B073_P000_bf.tar", "nameroot": "L621240_SAP002_B073_P000_bf"}]}) self.summary_task_defined = Task.objects.create(sas_id=77777, new_status=State.DEFINED.value, workflow=self.workflow_requantisation, outputs={"tar_archive": [{"size": 4885985280, "basename": "L185619_summaryCS.tar", "nameroot": "L185619_summaryCS"}]}) self.summary_task_validated = Task.objects.create(sas_id=77777, new_status=State.VALIDATED.value, workflow=self.workflow_requantisation, outputs={"tar_archive": [{"size": 4885985280, "basename": "L185619_summaryCS.tar", "nameroot": "L185619_summaryCS"}]}) def test_no_summary_task(self): """ test task that is not a summary task """ actual = self.no_summary_task.is_summary self.assertEqual(actual, False) def test_summary_task_defined(self): """ test summary task, but before it knows that it becomes a summary task (which it only knows when 'processed') """ actual = self.summary_task_defined.is_summary self.assertEqual(actual, False) def test_summary_task_stored(self): """ test summary task, at 'stored' it should know that it is a summary task and return True) """ self.summary_task_validated.save() actual = self.summary_task_validated.is_summary self.assertEqual(actual, True)