From b19dd1d2ed3e1a99c709c9a0b7280c497942083c Mon Sep 17 00:00:00 2001 From: Jan David Mol <mol@astron.nl> Date: Mon, 15 Mar 2021 17:30:27 +0100 Subject: [PATCH] TMSS-601: Task connectors must point to a task template. --- .../src/tmss/tmssapp/migrations/0001_initial.py | 4 ++-- .../src/tmss/tmssapp/models/specification.py | 2 +- .../test/t_tmssapp_specification_django_API.py | 14 ++------------ 3 files changed, 5 insertions(+), 15 deletions(-) diff --git a/SAS/TMSS/backend/src/tmss/tmssapp/migrations/0001_initial.py b/SAS/TMSS/backend/src/tmss/tmssapp/migrations/0001_initial.py index cf09f98a9ba..3d6ebc48b0b 100644 --- a/SAS/TMSS/backend/src/tmss/tmssapp/migrations/0001_initial.py +++ b/SAS/TMSS/backend/src/tmss/tmssapp/migrations/0001_initial.py @@ -1,4 +1,4 @@ -# Generated by Django 3.0.9 on 2021-03-12 12:33 +# Generated by Django 3.0.9 on 2021-03-15 16:29 from django.conf import settings import django.contrib.postgres.fields @@ -1003,7 +1003,7 @@ class Migration(migrations.Migration): migrations.AddField( model_name='taskconnectortype', name='task_template', - field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='output_connector_types', to='tmssapp.TaskTemplate'), + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='output_connector_types', to='tmssapp.TaskTemplate'), ), migrations.AddField( model_name='taskblueprint', diff --git a/SAS/TMSS/backend/src/tmss/tmssapp/models/specification.py b/SAS/TMSS/backend/src/tmss/tmssapp/models/specification.py index 48dd7e6c90e..364066ebe6b 100644 --- a/SAS/TMSS/backend/src/tmss/tmssapp/models/specification.py +++ b/SAS/TMSS/backend/src/tmss/tmssapp/models/specification.py @@ -163,7 +163,7 @@ class TaskConnectorType(BasicCommon): role = ForeignKey('Role', null=False, on_delete=PROTECT) datatype = ForeignKey('Datatype', null=False, on_delete=PROTECT) dataformats = ManyToManyField('Dataformat', blank=True) - task_template = ForeignKey("TaskTemplate", related_name='output_connector_types', null=True, on_delete=CASCADE) + task_template = ForeignKey("TaskTemplate", related_name='output_connector_types', null=False, on_delete=CASCADE) output = BooleanField(null=False, help_text="True if this connector describes an output, False if this connector describes an input") diff --git a/SAS/TMSS/backend/test/t_tmssapp_specification_django_API.py b/SAS/TMSS/backend/test/t_tmssapp_specification_django_API.py index 7966ebf8041..7ace3e3ad11 100755 --- a/SAS/TMSS/backend/test/t_tmssapp_specification_django_API.py +++ b/SAS/TMSS/backend/test/t_tmssapp_specification_django_API.py @@ -268,21 +268,11 @@ class TaskRelationSelectionTemplateTest(unittest.TestCase): class TaskConnectorTest(unittest.TestCase): - def test_POST_TaskConnector_prevents_missing_input_of(self): + def test_POST_TaskConnector_prevents_missing_task_template(self): # setup test_data_1 = dict(TaskConnectorType_test_data()) - test_data_1['input_of'] = None - - # assert - with self.assertRaises(IntegrityError): - models.TaskConnectorType.objects.create(**test_data_1) - - def test_POST_TaskConnector_prevents_missing_output_of(self): - - # setup - test_data_1 = dict(TaskConnectorType_test_data()) - test_data_1['output_of'] = None + test_data_1['task_template'] = None # assert with self.assertRaises(IntegrityError): -- GitLab