diff --git a/SAS/TMSS/backend/services/report_refresh/test/t_report_refresh_service.py b/SAS/TMSS/backend/services/report_refresh/test/t_report_refresh_service.py index b5e81f4b8f632623ac54ad781603270b4ddd8350..e878c972ccbc405e4f17228420bf4b0a91514572 100755 --- a/SAS/TMSS/backend/services/report_refresh/test/t_report_refresh_service.py +++ b/SAS/TMSS/backend/services/report_refresh/test/t_report_refresh_service.py @@ -47,8 +47,6 @@ class TestReportRefreshService(unittest.TestCase): cls.tmss_test_env = TMSSTestEnvironment(exchange=cls.tmp_exchange.address, populate_test_data=False, populate_schemas=False, start_websocket=False, start_postgres_listener=True, enable_viewflow=False) cls.tmss_test_env.start() - cls.test_data_creator = cls.tmss_test_env.create_test_data_creator() - @classmethod def tearDownClass(cls) -> None: cls.tmss_test_env.stop() @@ -60,12 +58,33 @@ class TestReportRefreshService(unittest.TestCase): of a cycle report in the database. ''' + # test data setup + from lofar.sas.tmss.test import tmss_test_data_django_models + from lofar.sas.tmss.tmss.tmssapp import models + project = models.Project.objects.create(**tmss_test_data_django_models.Project_test_data(name=str(uuid.uuid4()))) + cycle = models.Cycle.objects.create(**tmss_test_data_django_models.Cycle_test_data(name=str(uuid.uuid4()))) + project.cycles.set([cycle]) + project.save() + scheduling_set = models.SchedulingSet.objects.create(**tmss_test_data_django_models.SchedulingSet_test_data(project=project)) + scheduling_unit_template = models.SchedulingUnitTemplate.get_latest(name='scheduling unit') + scheduling_unit_draft = models.SchedulingUnitDraft.objects.create(**tmss_test_data_django_models.SchedulingUnitDraft_test_data(name=str(uuid.uuid4()), template=scheduling_unit_template, scheduling_set=scheduling_set)) + obs_task_template = models.TaskTemplate.get_latest(name='target observation') + task_draft = models.TaskDraft.objects.create(**tmss_test_data_django_models.TaskDraft_test_data(name=str(uuid.uuid4()), specifications_template=obs_task_template, scheduling_unit_draft=scheduling_unit_draft)) + task_blueprint = models.TaskBlueprint.objects.create(**tmss_test_data_django_models.TaskBlueprint_test_data(name=str(uuid.uuid4()), task_draft=task_draft)) + subtask_obs = models.Subtask.objects.create(**tmss_test_data_django_models.Subtask_test_data(state=models.SubtaskState.objects.get(value="defining"), + subtask_template=models.SubtaskTemplate.get_latest(name='observation control'), + task_blueprint=task_blueprint)) + subtask_obs.state = models.SubtaskState.objects.get(value="defined") + subtask_obs.save() + # create and start the service (the object under test) service = create_service(exchange=self.tmp_exchange.address) with BusListenerJanitor(service): - - pass - # todo + self.assertEqual(models.CycleReport.objects.filter(cycle=cycle).count(), 0) + subtask_obs.state = models.SubtaskState.objects.get(value="defined") + subtask_obs.save() + time.sleep(5) # todo: ugly, is there a better way? + self.assertEqual(models.CycleReport.objects.filter(cycle=cycle).count(), 1) if __name__ == '__main__':