From 00b8ba3a92d5b70239b355cc4ccb4ef6df7dc853 Mon Sep 17 00:00:00 2001
From: Jan David Mol <mol@astron.nl>
Date: Tue, 20 Apr 2021 15:43:48 +0200
Subject: [PATCH] TMSS-64: Added dataformats to connectors, fixed tests.

---
 SAS/TMSS/backend/src/tmss/tmssapp/populate.py | 20 +++++++++++++------
 .../common_schema_template-tasks-1.json       |  6 +++---
 SAS/TMSS/backend/test/t_adapter.py            |  7 +------
 3 files changed, 18 insertions(+), 15 deletions(-)

diff --git a/SAS/TMSS/backend/src/tmss/tmssapp/populate.py b/SAS/TMSS/backend/src/tmss/tmssapp/populate.py
index 29dfcebcea1..ecb2c6f7ad1 100644
--- a/SAS/TMSS/backend/src/tmss/tmssapp/populate.py
+++ b/SAS/TMSS/backend/src/tmss/tmssapp/populate.py
@@ -423,20 +423,28 @@ def populate_connectors():
     # beamforming observation
     TaskConnectorType.objects.create(role=Role.objects.get(value=Role.Choices.BEAMFORMER.value),
                                  datatype=Datatype.objects.get(value=Datatype.Choices.TIME_SERIES.value),
+                                 dataformat=Dataformat.objects.get(value=Dataformat.Choices.BEAMFORMED.value),
                                  task_template=TaskTemplate.objects.get(name='beamforming observation'),
                                  iotype=IOType.objects.get(value=IOType.Choices.OUTPUT.value))
 
     # pulsar pipeline
-    TaskConnectorType.objects.create(role=Role.objects.get(value=Role.Choices.ANY.value),
+    TaskConnectorType.objects.create(role=Role.objects.get(value=Role.Choices.BEAMFORMER.value),
                                  datatype=Datatype.objects.get(value=Datatype.Choices.TIME_SERIES.value),
+                                 dataformat=Dataformat.objects.get(value=Dataformat.Choices.BEAMFORMED.value),
                                  task_template=TaskTemplate.objects.get(name='pulsar pipeline'),
                                  iotype=IOType.objects.get(value=IOType.Choices.INPUT.value))
 
-    for datatype_value in (Datatype.Choices.QUALITY.value, Datatype.Choices.PULSAR_PROFILE.value):
-        TaskConnectorType.objects.create(role=Role.objects.get(value=Role.Choices.ANY.value),
-                                     datatype=Datatype.objects.get(value=datatype_value),
-                                     task_template=TaskTemplate.objects.get(name='pulsar pipeline'),
-                                     iotype=IOType.objects.get(value=IOType.Choices.OUTPUT.value))
+    TaskConnectorType.objects.create(role=Role.objects.get(value=Role.Choices.ANY.value),
+                                 datatype=Datatype.objects.get(value=Datatype.Choices.QUALITY.value),
+                                 dataformat=Dataformat.objects.get(value=Dataformat.Choices.PULP_SUMMARY.value),
+                                 task_template=TaskTemplate.objects.get(name='pulsar pipeline'),
+                                 iotype=IOType.objects.get(value=IOType.Choices.OUTPUT.value))
+
+    TaskConnectorType.objects.create(role=Role.objects.get(value=Role.Choices.ANY.value),
+                                 datatype=Datatype.objects.get(value=Datatype.Choices.PULSAR_PROFILE.value),
+                                 dataformat=Dataformat.objects.get(value=Dataformat.Choices.PULP_ANALYSIS.value),
+                                 task_template=TaskTemplate.objects.get(name='pulsar pipeline'),
+                                 iotype=IOType.objects.get(value=IOType.Choices.OUTPUT.value))
 
     # preprocessing pipeline
     for iotype_value in (IOType.Choices.INPUT.value, IOType.Choices.OUTPUT.value):
diff --git a/SAS/TMSS/backend/src/tmss/tmssapp/schemas/common_schema_template-tasks-1.json b/SAS/TMSS/backend/src/tmss/tmssapp/schemas/common_schema_template-tasks-1.json
index 398542538b8..ae7d909686d 100644
--- a/SAS/TMSS/backend/src/tmss/tmssapp/schemas/common_schema_template-tasks-1.json
+++ b/SAS/TMSS/backend/src/tmss/tmssapp/schemas/common_schema_template-tasks-1.json
@@ -22,13 +22,13 @@
           "type": "string",
           "title": "Data Type",
           "description": "The data type of a task connector describes its what kind of data is produced/consumed.",
-          "enum": ["visibilities", "time series", "instrument model", "image", "quality"]
+          "enum": ["visibilities", "time series", "instrument model", "image", "quality", "pulsar profile"]
         },
         "dataformat": {
           "type": "string",
           "title": "Data Format",
           "description": "The data type of a task connector describes in which format the data is produced/consumed.",
-          "enum": ["MeasurementSet", "Beamformed", "QA_HDF5", "QA_Plots"]
+          "enum": ["MeasurementSet", "Beamformed", "QA_HDF5", "QA_Plots", "pulp summary", "pulp analysis"]
         }
       },
       "required": [
@@ -38,4 +38,4 @@
       ]
     }
   }
-}
\ No newline at end of file
+}
diff --git a/SAS/TMSS/backend/test/t_adapter.py b/SAS/TMSS/backend/test/t_adapter.py
index 9cf2ae68c92..5294abcc79b 100755
--- a/SAS/TMSS/backend/test/t_adapter.py
+++ b/SAS/TMSS/backend/test/t_adapter.py
@@ -484,12 +484,7 @@ _isCobalt=T
         set_subtask_state_following_allowed_transitions(subtask_obs, 'finishing')
         subtask_obs_output = models.SubtaskOutput.objects.create(**SubtaskOutput_test_data(subtask=subtask_obs))
 
-<<<<<<< HEAD
-        subtask_data = Subtask_test_data(state=models.SubtaskState.objects.get(value='finishing'),
-                                         subtask_template=models.SubtaskTemplate.objects.get(name='preprocessing pipeline'))
-=======
-        subtask_data = Subtask_test_data(subtask_template=models.SubtaskTemplate.objects.get(name='pipeline control'))
->>>>>>> master
+        subtask_data = Subtask_test_data(subtask_template=models.SubtaskTemplate.objects.get(name='preprocessing pipeline'))
         subtask_pipe: models.Subtask = models.Subtask.objects.create(**subtask_data)
         set_subtask_state_following_allowed_transitions(subtask_pipe, 'finishing')
         subtask_pipe_output = models.SubtaskOutput.objects.create(**SubtaskOutput_test_data(subtask=subtask_pipe))
-- 
GitLab