From 6150f1f54fc6613cc1781cbc7ccea9b0f374b4da Mon Sep 17 00:00:00 2001
From: Jorrit Schaap <schaap@astron.nl>
Date: Thu, 23 Sep 2021 15:02:02 +0200
Subject: [PATCH] TMSS-1044: removed Default*Templates

---
 .../scheduling/test/t_dynamic_scheduling.py   |   2 -
 .../tmss/tmssapp/migrations/0001_initial.py   | 178 +-----------------
 .../tmss/tmssapp/migrations/0002_populate.py  |   4 +-
 .../src/tmss/tmssapp/models/scheduling.py     |  10 -
 .../src/tmss/tmssapp/models/specification.py  |  30 ---
 SAS/TMSS/backend/src/tmss/tmssapp/populate.py |   8 -
 .../tmss/tmssapp/serializers/scheduling.py    |  13 --
 .../tmss/tmssapp/serializers/specification.py |  36 ----
 SAS/TMSS/backend/src/tmss/tmssapp/tasks.py    |  12 +-
 .../src/tmss/tmssapp/viewsets/scheduling.py   |  10 -
 .../tmss/tmssapp/viewsets/specification.py    |  30 ---
 SAS/TMSS/backend/src/tmss/urls.py             |   8 -
 .../test/t_tmssapp_scheduling_REST_API.py     |  44 -----
 .../test/t_tmssapp_specification_REST_API.py  | 174 -----------------
 .../t_tmssapp_specification_django_API.py     |  13 --
 .../test/tmss_test_data_django_models.py      |   4 -
 SAS/TMSS/backend/test/tmss_test_data_rest.py  |  13 --
 17 files changed, 11 insertions(+), 578 deletions(-)

diff --git a/SAS/TMSS/backend/services/scheduling/test/t_dynamic_scheduling.py b/SAS/TMSS/backend/services/scheduling/test/t_dynamic_scheduling.py
index a39ac5d7985..54c33e51729 100755
--- a/SAS/TMSS/backend/services/scheduling/test/t_dynamic_scheduling.py
+++ b/SAS/TMSS/backend/services/scheduling/test/t_dynamic_scheduling.py
@@ -97,12 +97,10 @@ class TestDynamicScheduling(TestCase):  # Note: we use django.test.TestCase inst
                         if strategy_template.template['scheduling_constraints_doc']['sky']['transit_offset']['to'] <= 7200:
                             strategy_template.template['scheduling_constraints_doc']['sky']['transit_offset']['to'] = 28800
                         strategy_template.save()
-        models.DefaultSchedulingConstraintsTemplate.objects.all().delete()
         for constraints_template in models.SchedulingConstraintsTemplate.objects.all():
             constraints_template.schema['properties']['sky']['properties']['transit_offset']['properties']['from']['default'] = -28800
             constraints_template.schema['properties']['sky']['properties']['transit_offset']['properties']['to']['default'] = 28800
             constraints_template.save()
-        models.DefaultSchedulingConstraintsTemplate.objects.create(name="foo", template=models.SchedulingConstraintsTemplate.objects.get(name="constraints"))
 
     def setUp(self) -> None:
         # wipe all radb entries (via cascading deletes) in between tests, so the tests don't influence each other
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 cf9bbe10108..8ac8720ca20 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-09-17 14:38
+# Generated by Django 3.0.9 on 2021-09-23 12:29
 
 from django.conf import settings
 import django.contrib.auth.models
@@ -228,110 +228,6 @@ class Migration(migrations.Migration):
                 'abstract': False,
             },
         ),
-        migrations.CreateModel(
-            name='DefaultDataproductSpecificationsTemplate',
-            fields=[
-                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
-                ('tags', django.contrib.postgres.fields.ArrayField(base_field=models.CharField(max_length=128), blank=True, default=list, help_text='User-defined search keywords for object.', size=8)),
-                ('created_at', models.DateTimeField(auto_now_add=True, help_text='Moment of object creation.')),
-                ('updated_at', models.DateTimeField(auto_now=True, help_text='Moment of last object update.')),
-                ('name', models.CharField(max_length=128, unique=True)),
-            ],
-            options={
-                'abstract': False,
-            },
-        ),
-        migrations.CreateModel(
-            name='DefaultGeneratorTemplate',
-            fields=[
-                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
-                ('tags', django.contrib.postgres.fields.ArrayField(base_field=models.CharField(max_length=128), blank=True, default=list, help_text='User-defined search keywords for object.', size=8)),
-                ('created_at', models.DateTimeField(auto_now_add=True, help_text='Moment of object creation.')),
-                ('updated_at', models.DateTimeField(auto_now=True, help_text='Moment of last object update.')),
-                ('name', models.CharField(max_length=128, unique=True)),
-            ],
-            options={
-                'abstract': False,
-            },
-        ),
-        migrations.CreateModel(
-            name='DefaultReservationTemplate',
-            fields=[
-                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
-                ('tags', django.contrib.postgres.fields.ArrayField(base_field=models.CharField(max_length=128), blank=True, default=list, help_text='User-defined search keywords for object.', size=8)),
-                ('created_at', models.DateTimeField(auto_now_add=True, help_text='Moment of object creation.')),
-                ('updated_at', models.DateTimeField(auto_now=True, help_text='Moment of last object update.')),
-                ('name', models.CharField(max_length=128, unique=True)),
-            ],
-            options={
-                'abstract': False,
-            },
-        ),
-        migrations.CreateModel(
-            name='DefaultSchedulingConstraintsTemplate',
-            fields=[
-                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
-                ('tags', django.contrib.postgres.fields.ArrayField(base_field=models.CharField(max_length=128), blank=True, default=list, help_text='User-defined search keywords for object.', size=8)),
-                ('created_at', models.DateTimeField(auto_now_add=True, help_text='Moment of object creation.')),
-                ('updated_at', models.DateTimeField(auto_now=True, help_text='Moment of last object update.')),
-                ('name', models.CharField(max_length=128, unique=True)),
-            ],
-            options={
-                'abstract': False,
-            },
-        ),
-        migrations.CreateModel(
-            name='DefaultSchedulingUnitTemplate',
-            fields=[
-                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
-                ('tags', django.contrib.postgres.fields.ArrayField(base_field=models.CharField(max_length=128), blank=True, default=list, help_text='User-defined search keywords for object.', size=8)),
-                ('created_at', models.DateTimeField(auto_now_add=True, help_text='Moment of object creation.')),
-                ('updated_at', models.DateTimeField(auto_now=True, help_text='Moment of last object update.')),
-                ('name', models.CharField(max_length=128, unique=True)),
-            ],
-            options={
-                'abstract': False,
-            },
-        ),
-        migrations.CreateModel(
-            name='DefaultSubtaskTemplate',
-            fields=[
-                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
-                ('tags', django.contrib.postgres.fields.ArrayField(base_field=models.CharField(max_length=128), blank=True, default=list, help_text='User-defined search keywords for object.', size=8)),
-                ('created_at', models.DateTimeField(auto_now_add=True, help_text='Moment of object creation.')),
-                ('updated_at', models.DateTimeField(auto_now=True, help_text='Moment of last object update.')),
-                ('name', models.CharField(max_length=128, unique=True)),
-            ],
-            options={
-                'abstract': False,
-            },
-        ),
-        migrations.CreateModel(
-            name='DefaultTaskRelationSelectionTemplate',
-            fields=[
-                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
-                ('tags', django.contrib.postgres.fields.ArrayField(base_field=models.CharField(max_length=128), blank=True, default=list, help_text='User-defined search keywords for object.', size=8)),
-                ('created_at', models.DateTimeField(auto_now_add=True, help_text='Moment of object creation.')),
-                ('updated_at', models.DateTimeField(auto_now=True, help_text='Moment of last object update.')),
-                ('name', models.CharField(max_length=128, unique=True)),
-            ],
-            options={
-                'abstract': False,
-            },
-        ),
-        migrations.CreateModel(
-            name='DefaultTaskTemplate',
-            fields=[
-                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
-                ('tags', django.contrib.postgres.fields.ArrayField(base_field=models.CharField(max_length=128), blank=True, default=list, help_text='User-defined search keywords for object.', size=8)),
-                ('created_at', models.DateTimeField(auto_now_add=True, help_text='Moment of object creation.')),
-                ('updated_at', models.DateTimeField(auto_now=True, help_text='Moment of last object update.')),
-                ('name', models.CharField(max_length=128, unique=True)),
-            ],
-            options={
-                'abstract': False,
-            },
-        ),
         migrations.CreateModel(
             name='Filesystem',
             fields=[
@@ -1404,46 +1300,6 @@ class Migration(migrations.Migration):
             name='cluster',
             field=models.ForeignKey(help_text='Cluster hosting this filesystem.', on_delete=django.db.models.deletion.PROTECT, to='tmssapp.Cluster'),
         ),
-        migrations.AddField(
-            model_name='defaulttasktemplate',
-            name='template',
-            field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='tmssapp.TaskTemplate'),
-        ),
-        migrations.AddField(
-            model_name='defaulttaskrelationselectiontemplate',
-            name='template',
-            field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='tmssapp.TaskRelationSelectionTemplate'),
-        ),
-        migrations.AddField(
-            model_name='defaultsubtasktemplate',
-            name='template',
-            field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='tmssapp.SubtaskTemplate'),
-        ),
-        migrations.AddField(
-            model_name='defaultschedulingunittemplate',
-            name='template',
-            field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='tmssapp.SchedulingUnitTemplate'),
-        ),
-        migrations.AddField(
-            model_name='defaultschedulingconstraintstemplate',
-            name='template',
-            field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='tmssapp.SchedulingConstraintsTemplate'),
-        ),
-        migrations.AddField(
-            model_name='defaultreservationtemplate',
-            name='template',
-            field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='tmssapp.ReservationTemplate'),
-        ),
-        migrations.AddField(
-            model_name='defaultgeneratortemplate',
-            name='template',
-            field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='tmssapp.GeneratorTemplate'),
-        ),
-        migrations.AddField(
-            model_name='defaultdataproductspecificationstemplate',
-            name='template',
-            field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='tmssapp.DataproductSpecificationsTemplate'),
-        ),
         migrations.AddField(
             model_name='dataproducttransform',
             name='input',
@@ -1621,38 +1477,6 @@ class Migration(migrations.Migration):
             model_name='sap',
             index=django.contrib.postgres.indexes.GinIndex(fields=['tags'], name='tmssapp_sap_tags_7451b0_gin'),
         ),
-        migrations.AddIndex(
-            model_name='defaulttasktemplate',
-            index=django.contrib.postgres.indexes.GinIndex(fields=['tags'], name='tmssapp_def_tags_c88200_gin'),
-        ),
-        migrations.AddIndex(
-            model_name='defaulttaskrelationselectiontemplate',
-            index=django.contrib.postgres.indexes.GinIndex(fields=['tags'], name='tmssapp_def_tags_3bee7d_gin'),
-        ),
-        migrations.AddIndex(
-            model_name='defaultsubtasktemplate',
-            index=django.contrib.postgres.indexes.GinIndex(fields=['tags'], name='tmssapp_def_tags_e9c73d_gin'),
-        ),
-        migrations.AddIndex(
-            model_name='defaultschedulingunittemplate',
-            index=django.contrib.postgres.indexes.GinIndex(fields=['tags'], name='tmssapp_def_tags_3ab2d6_gin'),
-        ),
-        migrations.AddIndex(
-            model_name='defaultschedulingconstraintstemplate',
-            index=django.contrib.postgres.indexes.GinIndex(fields=['tags'], name='tmssapp_def_tags_480bbd_gin'),
-        ),
-        migrations.AddIndex(
-            model_name='defaultreservationtemplate',
-            index=django.contrib.postgres.indexes.GinIndex(fields=['tags'], name='tmssapp_def_tags_58d7a4_gin'),
-        ),
-        migrations.AddIndex(
-            model_name='defaultgeneratortemplate',
-            index=django.contrib.postgres.indexes.GinIndex(fields=['tags'], name='tmssapp_def_tags_89c89d_gin'),
-        ),
-        migrations.AddIndex(
-            model_name='defaultdataproductspecificationstemplate',
-            index=django.contrib.postgres.indexes.GinIndex(fields=['tags'], name='tmssapp_def_tags_269b1f_gin'),
-        ),
         migrations.AddIndex(
             model_name='dataproducttransform',
             index=django.contrib.postgres.indexes.GinIndex(fields=['tags'], name='tmssapp_dat_tags_380c1f_gin'),
diff --git a/SAS/TMSS/backend/src/tmss/tmssapp/migrations/0002_populate.py b/SAS/TMSS/backend/src/tmss/tmssapp/migrations/0002_populate.py
index 344b849cfbd..8c9cb85cebe 100644
--- a/SAS/TMSS/backend/src/tmss/tmssapp/migrations/0002_populate.py
+++ b/SAS/TMSS/backend/src/tmss/tmssapp/migrations/0002_populate.py
@@ -50,7 +50,9 @@ class Migration(migrations.Migration):
                                      RETURNS trigger AS
                                      $BODY$
                                      BEGIN
-                                       IF OLD.specifications_template_id <> NEW.specifications_template_id THEN
+                                       IF OLD.specifications_template_id <> NEW.specifications_template_id OR
+                                          OLD.name <> NEW.name OR
+                                          OLD.description <> NEW.description THEN
                                          RAISE EXCEPTION 'ILLEGAL UPDATE OF IMMUTABLE BLUEPRINT FIELD';
                                        END IF;
                                      RETURN NEW;
diff --git a/SAS/TMSS/backend/src/tmss/tmssapp/models/scheduling.py b/SAS/TMSS/backend/src/tmss/tmssapp/models/scheduling.py
index 5ad73a12bce..8cb27be05b2 100644
--- a/SAS/TMSS/backend/src/tmss/tmssapp/models/scheduling.py
+++ b/SAS/TMSS/backend/src/tmss/tmssapp/models/scheduling.py
@@ -98,20 +98,10 @@ class SubtaskTemplate(Template):
     realtime = BooleanField(default=False)
 
 
-class DefaultSubtaskTemplate(BasicCommon):
-    name = CharField(max_length=128, unique=True)
-    template = ForeignKey('SubtaskTemplate', on_delete=PROTECT)
-
-
 class DataproductSpecificationsTemplate(Template):
     pass
 
 
-class DefaultDataproductSpecificationsTemplate(BasicCommon):
-    name = CharField(max_length=128, unique=True)
-    template = ForeignKey('DataproductSpecificationsTemplate', on_delete=PROTECT)
-
-
 class DataproductFeedbackTemplate(Template):
     pass
 
diff --git a/SAS/TMSS/backend/src/tmss/tmssapp/models/specification.py b/SAS/TMSS/backend/src/tmss/tmssapp/models/specification.py
index 01f2d5ac2ee..2a0d66f1203 100644
--- a/SAS/TMSS/backend/src/tmss/tmssapp/models/specification.py
+++ b/SAS/TMSS/backend/src/tmss/tmssapp/models/specification.py
@@ -197,11 +197,6 @@ class GeneratorTemplate(Template):
     create_function = CharField(max_length=128, help_text='Python function to call to execute the generator.')
 
 
-class DefaultGeneratorTemplate(BasicCommon):
-    name = CharField(max_length=128, unique=True)
-    template = ForeignKey("GeneratorTemplate", on_delete=PROTECT)
-
-
 class SchedulingUnitObservingStrategyTemplate(NamedVersionedCommon):
     '''
     A SchedulingUnitObservingStrategyTemplate is a template in the sense that it serves as a template to fill in json data objects conform its referred scheduling_unit_template.
@@ -261,39 +256,19 @@ class SchedulingUnitTemplate(Template):
     pass
 
 
-class DefaultSchedulingUnitTemplate(BasicCommon):
-    name = CharField(max_length=128, unique=True)
-    template = ForeignKey("SchedulingUnitTemplate", on_delete=PROTECT)
-
-
 class SchedulingConstraintsTemplate(Template):
     pass
 
 
-class DefaultSchedulingConstraintsTemplate(BasicCommon):
-    name = CharField(max_length=128, unique=True)
-    template = ForeignKey("SchedulingConstraintsTemplate", on_delete=PROTECT)
-
-
 class TaskTemplate(Template):
     validation_code_js = CharField(max_length=128, blank=True, default="", help_text='JavaScript code for additional (complex) validation.')
     type = ForeignKey('TaskType', null=False, on_delete=PROTECT)
 
 
-class DefaultTaskTemplate(BasicCommon):
-    name = CharField(max_length=128, unique=True)
-    template = ForeignKey("TaskTemplate", on_delete=PROTECT)
-
-
 class TaskRelationSelectionTemplate(Template):
     pass
 
 
-class DefaultTaskRelationSelectionTemplate(BasicCommon):
-    name = CharField(max_length=128, unique=True)
-    template = ForeignKey("TaskRelationSelectionTemplate", on_delete=PROTECT)
-
-
 class ReservationStrategyTemplate(NamedCommon):
     '''
     A ReservationStrategyTemplate is a template in the sense that it serves as a template to fill in json data objects
@@ -319,11 +294,6 @@ class ReservationTemplate(Template):
     pass
 
 
-class DefaultReservationTemplate(BasicCommon):
-    name = CharField(max_length=128, unique=True)
-    template = ForeignKey("ReservationTemplate", on_delete=PROTECT)
-
-
 #
 # Instance Objects
 #
diff --git a/SAS/TMSS/backend/src/tmss/tmssapp/populate.py b/SAS/TMSS/backend/src/tmss/tmssapp/populate.py
index 64055b318ef..429916633fe 100644
--- a/SAS/TMSS/backend/src/tmss/tmssapp/populate.py
+++ b/SAS/TMSS/backend/src/tmss/tmssapp/populate.py
@@ -45,14 +45,6 @@ permission_groups = {'system_setting': [viewsets.AntennaSetViewSet,
                                         viewsets.DataproductFeedbackTemplateViewSet,
                                         viewsets.DataproductSpecificationsTemplateViewSet,
                                         viewsets.DatatypeViewSet,
-                                        viewsets.DefaultDataproductSpecificationsTemplateViewSet,
-                                        viewsets.DefaultGeneratorTemplateViewSet,
-                                        viewsets.DefaultReservationTemplateViewSet,
-                                        viewsets.DefaultSchedulingConstraintsTemplateViewSet,
-                                        viewsets.DefaultSchedulingUnitTemplateViewSet,
-                                        viewsets.DefaultSubtaskTemplateViewSet,
-                                        viewsets.DefaultTaskRelationSelectionTemplateViewSet,
-                                        viewsets.DefaultTaskTemplateViewSet,
                                         viewsets.FilesystemViewSet,
                                         viewsets.GeneratorTemplateViewSet,
                                         viewsets.HashAlgorithmViewSet,
diff --git a/SAS/TMSS/backend/src/tmss/tmssapp/serializers/scheduling.py b/SAS/TMSS/backend/src/tmss/tmssapp/serializers/scheduling.py
index 04a943b9313..97c57520c4a 100644
--- a/SAS/TMSS/backend/src/tmss/tmssapp/serializers/scheduling.py
+++ b/SAS/TMSS/backend/src/tmss/tmssapp/serializers/scheduling.py
@@ -52,25 +52,12 @@ class SubtaskTemplateSerializer(AbstractTemplateSerializer):
         fields = '__all__'
 
 
-class DefaultSubtaskTemplateSerializer(DynamicRelationalHyperlinkedModelSerializer):
-    class Meta:
-        model = models.DefaultSubtaskTemplate
-        fields = '__all__'
-
-
 class DataproductSpecificationsTemplateSerializer(AbstractTemplateSerializer):
     class Meta:
         model = models.DataproductSpecificationsTemplate
         fields = '__all__'
 
 
-class DefaultDataproductSpecificationsTemplateSerializer(DynamicRelationalHyperlinkedModelSerializer):
-    class Meta:
-        model = models.DefaultDataproductSpecificationsTemplate
-        fields = '__all__'
-
-
-
 class DataproductFeedbackTemplateSerializer(AbstractTemplateSerializer):
     class Meta:
         model = models.DataproductFeedbackTemplate
diff --git a/SAS/TMSS/backend/src/tmss/tmssapp/serializers/specification.py b/SAS/TMSS/backend/src/tmss/tmssapp/serializers/specification.py
index dc246cd3d88..abea9369e0e 100644
--- a/SAS/TMSS/backend/src/tmss/tmssapp/serializers/specification.py
+++ b/SAS/TMSS/backend/src/tmss/tmssapp/serializers/specification.py
@@ -35,12 +35,6 @@ class GeneratorTemplateSerializer(AbstractTemplateSerializer):
         fields = '__all__'
 
 
-class DefaultGeneratorTemplateSerializer(DynamicRelationalHyperlinkedModelSerializer):
-    class Meta:
-        model = models.DefaultGeneratorTemplate
-        fields = '__all__'
-
-
 class SchedulingUnitObservingStrategyTemplateSerializer(DynamicRelationalHyperlinkedModelSerializer):
     template = JSONEditorField(schema_source="scheduling_unit_template.schema")
 
@@ -55,48 +49,24 @@ class SchedulingUnitTemplateSerializer(AbstractTemplateSerializer):
         fields = '__all__'
 
 
-class DefaultSchedulingUnitTemplateSerializer(DynamicRelationalHyperlinkedModelSerializer):
-    class Meta:
-        model = models.DefaultSchedulingUnitTemplate
-        fields = '__all__'
-
-
 class SchedulingConstraintsTemplateSerializer(AbstractTemplateSerializer):
     class Meta:
         model = models.SchedulingConstraintsTemplate
         fields = '__all__'
 
 
-class DefaultSchedulingConstraintsTemplateSerializer(DynamicRelationalHyperlinkedModelSerializer):
-    class Meta:
-        model = models.DefaultSchedulingConstraintsTemplate
-        fields = '__all__'
-
-
 class TaskTemplateSerializer(AbstractTemplateSerializer):
     class Meta:
         model = models.TaskTemplate
         fields = '__all__'
 
 
-class DefaultTaskTemplateSerializer(DynamicRelationalHyperlinkedModelSerializer):
-    class Meta:
-        model = models.DefaultTaskTemplate
-        fields = '__all__'
-
-
 class TaskRelationSelectionTemplateSerializer(AbstractTemplateSerializer):
     class Meta:
         model = models.TaskRelationSelectionTemplate
         fields = '__all__'
 
 
-class DefaultTaskRelationSelectionTemplateSerializer(DynamicRelationalHyperlinkedModelSerializer):
-    class Meta:
-        model = models.DefaultTaskRelationSelectionTemplate
-        fields = '__all__'
-
-
 class RoleSerializer(serializers.ModelSerializer):
     class Meta:
         model = models.Role
@@ -374,12 +344,6 @@ class ReservationTemplateSerializer(AbstractTemplateSerializer):
         fields = '__all__'
 
 
-class DefaultReservationTemplateSerializer(DynamicRelationalHyperlinkedModelSerializer):
-    class Meta:
-        model = models.DefaultReservationTemplate
-        fields = '__all__'
-
-
 class ReservationSerializer(DynamicRelationalHyperlinkedModelSerializer):
     specifications_doc = JSONEditorField(schema_source='specifications_template.schema')
 
diff --git a/SAS/TMSS/backend/src/tmss/tmssapp/tasks.py b/SAS/TMSS/backend/src/tmss/tmssapp/tasks.py
index 01c1f4bffbf..18d46ee5bad 100644
--- a/SAS/TMSS/backend/src/tmss/tmssapp/tasks.py
+++ b/SAS/TMSS/backend/src/tmss/tmssapp/tasks.py
@@ -39,11 +39,13 @@ def create_scheduling_unit_draft_from_observing_strategy_template(strategy_templ
         scheduling_constraints_template = models.SchedulingConstraintsTemplate.objects.get(name=scheduling_constraints_template_name)
     else:
         # get the default_scheduling_constraints_template
-        default_scheduling_constraints_template = models.DefaultSchedulingConstraintsTemplate.objects.all().order_by('created_at').last()
-        if default_scheduling_constraints_template:
-            scheduling_constraints_template = default_scheduling_constraints_template.template
-        else:
-            scheduling_constraints_template = None
+        scheduling_constraints_template = None # TODO: TMSS-1044 get "default" SchedulingConstraintsTemplate from common schemas
+
+        # default_scheduling_constraints_template = models.DefaultSchedulingConstraintsTemplate.objects.all().order_by('created_at').last()
+        # if default_scheduling_constraints_template:
+        #     scheduling_constraints_template = default_scheduling_constraints_template.template
+        # else:
+        #     scheduling_constraints_template = None
 
     # extract the scheduling_constraints_doc from the template_doc,
     # so we can feed in seperately into the SchedulingUnitDraft.
diff --git a/SAS/TMSS/backend/src/tmss/tmssapp/viewsets/scheduling.py b/SAS/TMSS/backend/src/tmss/tmssapp/viewsets/scheduling.py
index 25b4d7b9aa5..58f3cb046a7 100644
--- a/SAS/TMSS/backend/src/tmss/tmssapp/viewsets/scheduling.py
+++ b/SAS/TMSS/backend/src/tmss/tmssapp/viewsets/scheduling.py
@@ -111,21 +111,11 @@ class SubtaskTemplateViewSet(AbstractTemplateViewSet):
         return queryset
 
 
-class DefaultSubtaskTemplateViewSet(LOFARViewSet):
-    queryset = models.DefaultSubtaskTemplate.objects.all()
-    serializer_class = serializers.DefaultSubtaskTemplateSerializer
-
-
 class DataproductSpecificationsTemplateViewSet(AbstractTemplateViewSet):
     queryset = models.DataproductSpecificationsTemplate.objects.all()
     serializer_class = serializers.DataproductSpecificationsTemplateSerializer
 
 
-class DefaultDataproductSpecificationsTemplateViewSet(LOFARViewSet):
-    queryset = models.DefaultDataproductSpecificationsTemplate.objects.all()
-    serializer_class = serializers.DefaultDataproductSpecificationsTemplateSerializer
-
-
 class DataproductFeedbackTemplateViewSet(AbstractTemplateViewSet):
     queryset = models.DataproductFeedbackTemplate.objects.all()
     serializer_class = serializers.DataproductFeedbackTemplateSerializer
diff --git a/SAS/TMSS/backend/src/tmss/tmssapp/viewsets/specification.py b/SAS/TMSS/backend/src/tmss/tmssapp/viewsets/specification.py
index af60f91746a..080a40b76c6 100644
--- a/SAS/TMSS/backend/src/tmss/tmssapp/viewsets/specification.py
+++ b/SAS/TMSS/backend/src/tmss/tmssapp/viewsets/specification.py
@@ -73,11 +73,6 @@ class GeneratorTemplateViewSet(AbstractTemplateViewSet):
     serializer_class = serializers.GeneratorTemplateSerializer
 
 
-class DefaultGeneratorTemplateViewSet(LOFARViewSet):
-    queryset = models.DefaultGeneratorTemplate.objects.all()
-    serializer_class = serializers.DefaultGeneratorTemplateSerializer
-
-
 class SchedulingUnitObservingStrategyTemplateViewSet(LOFARViewSet):
     queryset = models.SchedulingUnitObservingStrategyTemplate.objects.all()
     serializer_class = serializers.SchedulingUnitObservingStrategyTemplateSerializer
@@ -179,11 +174,6 @@ class SchedulingUnitTemplateViewSet(AbstractTemplateViewSet):
     filter_class = SchedulingUnitTemplateFilter
 
 
-class DefaultSchedulingUnitTemplateViewSet(LOFARViewSet):
-    queryset = models.DefaultSchedulingUnitTemplate.objects.all()
-    serializer_class = serializers.DefaultSchedulingUnitTemplateSerializer
-
-
 class SchedulingConstraintsTemplateFilter(filters.FilterSet):
     class Meta:
         model = models.SchedulingConstraintsTemplate
@@ -199,11 +189,6 @@ class SchedulingConstraintsTemplateViewSet(AbstractTemplateViewSet):
     filter_class = SchedulingConstraintsTemplateFilter
 
 
-class DefaultSchedulingConstraintsTemplateViewSet(LOFARViewSet):
-    queryset = models.DefaultSchedulingConstraintsTemplate.objects.all()
-    serializer_class = serializers.DefaultSchedulingConstraintsTemplateSerializer
-
-
 class TaskTemplateFilter(filters.FilterSet):
     class Meta:
         model = models.TaskTemplate
@@ -219,21 +204,11 @@ class TaskTemplateViewSet(AbstractTemplateViewSet):
     filter_class = TaskTemplateFilter
 
 
-class DefaultTaskTemplateViewSet(LOFARViewSet):
-    queryset = models.DefaultTaskTemplate.objects.all()
-    serializer_class = serializers.DefaultTaskTemplateSerializer
-
-
 class TaskRelationSelectionTemplateViewSet(AbstractTemplateViewSet):
     queryset = models.TaskRelationSelectionTemplate.objects.all()
     serializer_class = serializers.TaskRelationSelectionTemplateSerializer
 
 
-class DefaultTaskRelationSelectionTemplateViewSet(LOFARViewSet):
-    queryset = models.DefaultTaskRelationSelectionTemplate.objects.all()
-    serializer_class = serializers.DefaultTaskRelationSelectionTemplateSerializer
-
-
 class ReservationStrategyTemplateViewSet(LOFARViewSet):
     queryset = models.ReservationStrategyTemplate.objects.all()
     serializer_class = serializers.ReservationStrategyTemplateSerializer
@@ -294,11 +269,6 @@ class ReservationStrategyTemplateViewSet(LOFARViewSet):
                         headers={'Location': reservation_path})
 
 
-class DefaultReservationTemplateViewSet(LOFARViewSet):
-    queryset = models.DefaultReservationTemplate.objects.all()
-    serializer_class = serializers.DefaultReservationTemplateSerializer
-
-
 class ReservationTemplateViewSet(AbstractTemplateViewSet):
     queryset = models.ReservationTemplate.objects.all()
     serializer_class = serializers.ReservationTemplateSerializer
diff --git a/SAS/TMSS/backend/src/tmss/urls.py b/SAS/TMSS/backend/src/tmss/urls.py
index 0b1b1db79d5..0fce7421447 100644
--- a/SAS/TMSS/backend/src/tmss/urls.py
+++ b/SAS/TMSS/backend/src/tmss/urls.py
@@ -144,12 +144,6 @@ router.register(r'task_template', viewsets.TaskTemplateViewSet)
 router.register(r'task_relation_selection_template', viewsets.TaskRelationSelectionTemplateViewSet)
 router.register(r'reservation_template', viewsets.ReservationTemplateViewSet)
 router.register(r'task_connector_type', viewsets.TaskConnectorTypeViewSet)
-router.register(r'default_generator_template', viewsets.DefaultGeneratorTemplateViewSet)
-router.register(r'default_scheduling_unit_template', viewsets.DefaultSchedulingUnitTemplateViewSet)
-router.register(r'default_scheduling_constraints_template', viewsets.DefaultSchedulingConstraintsTemplateViewSet)
-router.register(r'default_task_template', viewsets.DefaultTaskTemplateViewSet)
-router.register(r'default_task_relation_selection_template', viewsets.DefaultTaskRelationSelectionTemplateViewSet)
-router.register(r'default_reservation_template', viewsets.DefaultReservationTemplateViewSet)
 router.register(r'reservation_strategy_template', viewsets.ReservationStrategyTemplateViewSet)
 
 # instances
@@ -198,8 +192,6 @@ router.register(r'scheduling_relation_placement', viewsets.SchedulingRelationPla
 # templates
 router.register(r'subtask_template', viewsets.SubtaskTemplateViewSet)
 router.register(r'dataproduct_specifications_template', viewsets.DataproductSpecificationsTemplateViewSet)
-router.register(r'default_subtask_template', viewsets.DefaultSubtaskTemplateViewSet)
-router.register(r'default_dataproduct_specifications_template', viewsets.DefaultDataproductSpecificationsTemplateViewSet)
 router.register(r'dataproduct_feedback_template', viewsets.DataproductFeedbackTemplateViewSet)
 router.register(r'sap_template', viewsets.SAPTemplateViewSet)
 
diff --git a/SAS/TMSS/backend/test/t_tmssapp_scheduling_REST_API.py b/SAS/TMSS/backend/test/t_tmssapp_scheduling_REST_API.py
index 719371acc17..2552cc1dc65 100755
--- a/SAS/TMSS/backend/test/t_tmssapp_scheduling_REST_API.py
+++ b/SAS/TMSS/backend/test/t_tmssapp_scheduling_REST_API.py
@@ -216,50 +216,6 @@ class DataproductSpecificationsTemplateTestCase(unittest.TestCase):
         DELETE_and_assert_gone(self, url)
 
 
-class DefaultSubtaskTemplatesTestCase(unittest.TestCase):
-    def test_default_subtask_template_POST(self):
-        template_url = test_data_creator.post_data_and_get_url(test_data_creator.SubtaskTemplate(), '/subtask_template/')
-        dst_test_data = test_data_creator.DefaultSubtaskTemplates(template_url=template_url)
-        POST_and_assert_expected_response(self, BASE_URL + '/default_subtask_template/', dst_test_data, 201, dst_test_data)
-
-    def test_default_dataproduct_specifications_template_POST(self):
-        template_url = test_data_creator.post_data_and_get_url(test_data_creator.DataproductSpecificationsTemplate(), '/dataproduct_specifications_template/')
-        dst_test_data = test_data_creator.DefaultSubtaskTemplates(template_url=template_url)
-        POST_and_assert_expected_response(self, BASE_URL + '/default_dataproduct_specifications_template/', dst_test_data, 201, dst_test_data)
-
-    def test_default_subtask_template_PROTECT_behavior_on_template_deleted(self):
-        st_test_data = test_data_creator.SubtaskTemplate()
-        expected_data = test_data_creator.update_schema_from_template("subtasktemplate", st_test_data)
-        template_url = test_data_creator.post_data_and_get_url(st_test_data, '/subtask_template/')
-        dst_test_data = test_data_creator.DefaultSubtaskTemplates(template_url=template_url)
-
-        # POST with dependency
-        POST_and_assert_expected_response(self, BASE_URL + '/default_subtask_template/', dst_test_data, 201, dst_test_data)
-
-        # Try to DELETE dependency, verify that was not successful
-        # Unfortunately we don't get a nice error in json, but a Django debug page on error 500...
-        response = requests.delete(template_url, auth=AUTH)
-        self.assertEqual(500, response.status_code)
-        self.assertTrue("ProtectedError" in str(response.content))
-        GET_OK_and_assert_equal_expected_response(self, template_url, expected_data)
-
-    def test_default_dataproduct_specifications_template_PROTECT_behavior_on_template_deleted(self):
-        dpst_test_data = test_data_creator.DataproductSpecificationsTemplate()
-        expected_data = test_data_creator.update_schema_from_template("dataproductspecificationstemplate", dpst_test_data)
-        template_url = test_data_creator.post_data_and_get_url(dpst_test_data, '/dataproduct_specifications_template/')
-        dst_test_data = test_data_creator.DefaultSubtaskTemplates(template_url=template_url)
-
-        # POST with dependency
-        POST_and_assert_expected_response(self, BASE_URL + '/default_dataproduct_specifications_template/', dst_test_data, 201, dst_test_data)
-
-        # Try to DELETE dependency, verify that was not successful
-        # Unfortunately we don't get a nice error in json, but a Django debug page on error 500...
-        response = requests.delete(template_url, auth=AUTH)
-        self.assertEqual(500, response.status_code)
-        self.assertTrue("ProtectedError" in str(response.content))
-        GET_OK_and_assert_equal_expected_response(self, template_url, expected_data)
-
-
 class SubtaskTestCase(unittest.TestCase):
     @classmethod
     def setUpClass(cls) -> None:
diff --git a/SAS/TMSS/backend/test/t_tmssapp_specification_REST_API.py b/SAS/TMSS/backend/test/t_tmssapp_specification_REST_API.py
index 5d15dfef5e9..d9d56dbb2df 100755
--- a/SAS/TMSS/backend/test/t_tmssapp_specification_REST_API.py
+++ b/SAS/TMSS/backend/test/t_tmssapp_specification_REST_API.py
@@ -714,180 +714,6 @@ class TaskConnectorTestCase(unittest.TestCase):
         GET_OK_and_assert_equal_expected_response(self, BASE_URL + '/task_connector_type/' + str(id2) + '/', test_data_2)
 
 
-class DefaultTemplates(unittest.TestCase):
-    def test_default_generator_template_POST(self):
-        test_data = test_data_creator.GeneratorTemplate()
-        expected_data = test_data_creator.update_schema_from_template("generatortemplate", test_data)
-        r_dict = POST_and_assert_expected_response(self, BASE_URL + '/generator_template/', test_data, 201, expected_data)
-        url = r_dict['url']
-
-        test_data_1 = dict(test_data_creator.DefaultTemplates())
-        test_data_1['template'] = url
-        expected_data_1 = test_data_creator.update_schema_from_template("generatortemplate", test_data_1)
-        POST_and_assert_expected_response(self, BASE_URL + '/default_generator_template/', test_data_1, 201, expected_data_1)
-
-    def test_default_scheduling_unit_template_POST(self):
-        test_data = test_data_creator.SchedulingUnitTemplate()
-        expected_data = test_data_creator.update_schema_from_template("schedulingunittemplate", test_data)
-        r_dict = POST_and_assert_expected_response(self, BASE_URL + '/scheduling_unit_template/',
-                                                   test_data, 201,
-                                                   expected_data)
-        url = r_dict['url']
-
-        test_data_1 = dict(test_data_creator.DefaultTemplates())
-        test_data_1['template'] = url
-        expected_data_1 = test_data_creator.update_schema_from_template("schedulingunittemplate", test_data_1)
-        POST_and_assert_expected_response(self, BASE_URL + '/default_scheduling_unit_template/', test_data_1, 201, expected_data_1)
-
-
-    def test_default_scheduling_constraints_template_POST(self):
-        test_data = test_data_creator.SchedulingConstraintsTemplate()
-        expected_data = test_data_creator.update_schema_from_template("schedulingconstraintstemplate", test_data)
-        r_dict = POST_and_assert_expected_response(self, BASE_URL + '/scheduling_constraints_template/',
-                                                   test_data, 201,
-                                                   expected_data)
-        url = r_dict['url']
-
-        test_data_1 = dict(test_data_creator.DefaultTemplates())
-        test_data_1['template'] = url
-        expected_data_1 = test_data_creator.update_schema_from_template("schedulingconstraintstemplate", test_data_1)
-        POST_and_assert_expected_response(self, BASE_URL + '/default_scheduling_constraints_template/', test_data_1, 201, expected_data_1)
-
-
-    def test_default_task_template_POST(self):
-        test_data = test_data_creator.TaskTemplate()
-        expected_data = test_data_creator.update_schema_from_template("tasktemplate", test_data)
-        r_dict = POST_and_assert_expected_response(self, BASE_URL + '/task_template/',
-                                                   test_data, 201,
-                                                   expected_data)
-        url = r_dict['url']
-
-        test_data_1 = dict(test_data_creator.DefaultTemplates())
-        test_data_1['template'] = url
-        expected_data_1 = test_data_creator.update_schema_from_template("tasktemplate", test_data_1)
-        POST_and_assert_expected_response(self, BASE_URL + '/default_task_template/', test_data_1, 201, expected_data_1)
-
-    def test_default_task_relation_selection_template_POST(self):
-        test_data = test_data_creator.TaskRelationSelectionTemplate()
-        expected_data = test_data_creator.update_schema_from_template("taskrelationselectiontemplate", test_data)
-        r_dict = POST_and_assert_expected_response(self, BASE_URL + '/task_relation_selection_template/',
-                                                   test_data, 201,
-                                                   expected_data)
-        url = r_dict['url']
-
-        test_data_1 = dict(test_data_creator.DefaultTemplates())
-        test_data_1['template'] = url
-        expected_data_1 = test_data_creator.update_schema_from_template("taskrelationselectiontemplate", test_data_1)
-        POST_and_assert_expected_response(self, BASE_URL + '/default_task_relation_selection_template/', test_data_1, 201, expected_data_1)
-
-    def test_default_generator_template_PROTECT_behavior_on_template_deleted(self):
-
-        # POST with dependency
-        test_data = test_data_creator.GeneratorTemplate()
-        expected_data = test_data_creator.update_schema_from_template("generatortemplate", test_data)
-        template_url = POST_and_assert_expected_response(self, BASE_URL + '/generator_template/',
-                                                test_data, 201,
-                                                expected_data)['url']
-        test_data2 = dict(test_data_creator.DefaultTemplates("defaulttemplate2"))
-        test_data2['template'] = template_url
-        expected_data2 = test_data_creator.update_schema_from_template("defaultgeneratortemplate", test_data2)
-        POST_and_assert_expected_response(self, BASE_URL + '/default_generator_template/',
-                                          test_data2, 201, expected_data2)
-
-        # Try to DELETE dependency, verify that was not successful
-        # Unfortunately we don't get a nice error in json, but a Django debug page on error 500...
-        response = requests.delete(template_url, auth=AUTH)
-        self.assertEqual(500, response.status_code)
-        self.assertTrue("ProtectedError" in str(response.content))
-        GET_OK_and_assert_equal_expected_response(self, template_url, expected_data)
-
-    def test_default_scheduling_unit_template_PROTECT_behavior_on_template_deleted(self):
-
-        # POST with dependency
-        test_data = test_data_creator.SchedulingUnitTemplate()
-        expected_data = test_data_creator.update_schema_from_template("schedulingunittemplate", test_data)
-        template_url = POST_and_assert_expected_response(self, BASE_URL + '/scheduling_unit_template/',
-                                                test_data, 201,
-                                                expected_data)['url']
-        test_data2 = dict(test_data_creator.DefaultTemplates("defaulttemplate2"))
-        test_data2['template'] = template_url
-        expected_data2 = test_data_creator.update_schema_from_template("defaultschedulingunittemplate", test_data2)
-        POST_and_assert_expected_response(self, BASE_URL + '/default_scheduling_unit_template/',
-                                          test_data2, 201, expected_data2)
-
-        # Try to DELETE dependency, verify that was not successful
-        # Unfortunately we don't get a nice error in json, but a Django debug page on error 500...
-        response = requests.delete(template_url, auth=AUTH)
-        self.assertEqual(500, response.status_code)
-        self.assertTrue("ProtectedError" in str(response.content))
-        GET_OK_and_assert_equal_expected_response(self, template_url, expected_data)
-
-
-    def test_default_scheduling_constraints_template_PROTECT_behavior_on_template_deleted(self):
-
-        # POST with dependency
-        test_data = test_data_creator.SchedulingConstraintsTemplate()
-        expected_data = test_data_creator.update_schema_from_template("schedulingconstraintstemplate", test_data)
-        template_url = POST_and_assert_expected_response(self, BASE_URL + '/scheduling_constraints_template/',
-                                                test_data, 201,
-                                                expected_data)['url']
-        test_data2 = dict(test_data_creator.DefaultTemplates("defaulttemplate2"))
-        test_data2['template'] = template_url
-        expected_data2 = test_data_creator.update_schema_from_template("defaultschedulingconstraintstemplate", test_data2)
-        POST_and_assert_expected_response(self, BASE_URL + '/default_scheduling_constraints_template/',
-                                          test_data2, 201, expected_data2)
-
-        # Try to DELETE dependency, verify that was not successful
-        # Unfortunately we don't get a nice error in json, but a Django debug page on error 500...
-        response = requests.delete(template_url, auth=AUTH)
-        self.assertEqual(500, response.status_code)
-        self.assertTrue("ProtectedError" in str(response.content))
-        GET_OK_and_assert_equal_expected_response(self, template_url, expected_data)
-
-
-    def test_default_task_template_PROTECT_behavior_on_template_deleted(self):
-
-        # POST with dependency
-        test_data = test_data_creator.TaskTemplate()
-        expected_data = test_data_creator.update_schema_from_template("tasktemplate", test_data)
-        template_url = POST_and_assert_expected_response(self, BASE_URL + '/task_template/',
-                                                test_data, 201,
-                                                expected_data)['url']
-        test_data2 = dict(test_data_creator.DefaultTemplates("defaulttemplate2"))
-        test_data2['template'] = template_url
-        expected_data2 = test_data_creator.update_schema_from_template("defaulttasktemplate", test_data2)
-        POST_and_assert_expected_response(self, BASE_URL + '/default_task_template/',
-                                          test_data2, 201, expected_data2)
-
-        # Try to DELETE dependency, verify that was not successful
-        # Unfortunately we don't get a nice error in json, but a Django debug page on error 500...
-        response = requests.delete(template_url, auth=AUTH)
-        self.assertEqual(500, response.status_code)
-        self.assertTrue("ProtectedError" in str(response.content))
-        GET_OK_and_assert_equal_expected_response(self, template_url, expected_data)
-
-    def test_default_task_relation_selection_template_PROTECT_behavior_on_template_deleted(self):
-
-        # POST with dependency
-        test_data = test_data_creator.TaskRelationSelectionTemplate()
-        expected_data = test_data_creator.update_schema_from_template("taskrelationselectiontemplate", test_data)
-        template_url = POST_and_assert_expected_response(self, BASE_URL + '/task_relation_selection_template/',
-                                                test_data, 201,
-                                                expected_data)['url']
-        test_data2 = dict(test_data_creator.DefaultTemplates("defaulttemplate2"))
-        test_data2['template'] = template_url
-        expected_data2 = test_data_creator.update_schema_from_template("defaulttaskrelationselectiontemplate", test_data2)
-        POST_and_assert_expected_response(self, BASE_URL + '/default_task_relation_selection_template/',
-                                          test_data2, 201, expected_data2)
-
-        # Try to DELETE dependency, verify that was not successful
-        # Unfortunately we don't get a nice error in json, but a Django debug page on error 500...
-        response = requests.delete(template_url, auth=AUTH)
-        self.assertEqual(500, response.status_code)
-        self.assertTrue("ProtectedError" in str(response.content))
-        GET_OK_and_assert_equal_expected_response(self, template_url, expected_data)
-
-
 class CycleTestCase(unittest.TestCase):
     def test_cycle_list_apiformat(self):
         r = requests.get(BASE_URL + '/cycle/?format=api', auth=AUTH)
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 d46848d8f75..3e2cfa4c45f 100755
--- a/SAS/TMSS/backend/test/t_tmssapp_specification_django_API.py
+++ b/SAS/TMSS/backend/test/t_tmssapp_specification_django_API.py
@@ -71,19 +71,6 @@ class GeneratorTemplateTest(unittest.TestCase):
         self.assertGreater(after, entry.updated_at)
 
 
-class DefaultGeneratorTemplateTest(unittest.TestCase):
-    def test_DefaultGeneratorTemplate_prevents_same_name(self):
-        common_forbidden_name = "my_name"
-        template = models.GeneratorTemplate.objects.create(**GeneratorTemplate_test_data())
-
-        test_data_1 = DefaultGeneratorTemplate_test_data(common_forbidden_name, template)
-        models.DefaultGeneratorTemplate.objects.create(**test_data_1)
-
-        test_data_2 = DefaultGeneratorTemplate_test_data(common_forbidden_name, template)
-        with self.assertRaises(IntegrityError):
-            models.DefaultGeneratorTemplate.objects.create(**test_data_2)
-
-
 class SchedulingUnitTemplateTest(unittest.TestCase):
     def test_SchedulingUnitTemplate_gets_created_with_correct_creation_timestamp(self):
 
diff --git a/SAS/TMSS/backend/test/tmss_test_data_django_models.py b/SAS/TMSS/backend/test/tmss_test_data_django_models.py
index 0ed868e71a1..6f65c8da477 100644
--- a/SAS/TMSS/backend/test/tmss_test_data_django_models.py
+++ b/SAS/TMSS/backend/test/tmss_test_data_django_models.py
@@ -43,10 +43,6 @@ def GeneratorTemplate_test_data(name="my_GeneratorTemplate") -> dict:
             "create_function": 'Funky',
             "tags": ["TMSS", "TESTING"]}
 
-def DefaultGeneratorTemplate_test_data(name=None, template=None) -> dict:
-    return {'name': name if name is not None else "DefaultGeneratorTemplate_"+str(uuid.uuid4()),
-            'template': template,
-            'tags':[]}
 
 def SchedulingUnitTemplate_test_data(name="my_SchedulingUnitTemplate", schema:dict=None) -> dict:
     if schema is None:
diff --git a/SAS/TMSS/backend/test/tmss_test_data_rest.py b/SAS/TMSS/backend/test/tmss_test_data_rest.py
index 918030b3877..59f1c18719f 100644
--- a/SAS/TMSS/backend/test/tmss_test_data_rest.py
+++ b/SAS/TMSS/backend/test/tmss_test_data_rest.py
@@ -232,11 +232,6 @@ class TMSSRESTTestDataCreator():
                 "iotype": self.django_api_url + '/iotype/%s'%iotype}
 
 
-    def DefaultTemplates(self, name="defaulttemplate"):
-        return {"name": name,
-                "template": None,
-                "tags": []}
-
     def Cycle(self, description="my cycle description"):
         return {"name": 'my_cycle_' + str(uuid.uuid4()),
                 "description": description,
@@ -616,14 +611,6 @@ class TMSSRESTTestDataCreator():
                  "schema": minimal_json_schema(),
                  "tags": ["TMSS", "TESTING"]}
     
-    def DefaultSubtaskTemplates(self, name=None, template_url=None):
-        if template_url is None:
-            template_url = self.cached_subtask_template_url
-    
-        return {"name": name if name else "default_template_%s" % uuid.uuid4(),
-                "template": template_url,
-                "tags": []}
-    
     def Cluster(self, name=None):
         return {"name": name if name else "Cluster %s" % uuid.uuid4(),
                 "description": 'My one cluster',
-- 
GitLab