From 1d6daa4e511e1c5dea67503db49b4f62c6f23f12 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=B6rn=20K=C3=BCnsem=C3=B6ller?=
 <jkuensem@physik.uni-bielefeld.de>
Date: Tue, 2 Nov 2021 22:38:07 +0100
Subject: [PATCH] TMSS-1144: change test structure to prevent invalidation of
 cache

---
 SAS/TMSS/backend/test/t_adapter.py | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/SAS/TMSS/backend/test/t_adapter.py b/SAS/TMSS/backend/test/t_adapter.py
index be02b92c61a..ecfcbfa3dcd 100755
--- a/SAS/TMSS/backend/test/t_adapter.py
+++ b/SAS/TMSS/backend/test/t_adapter.py
@@ -503,7 +503,8 @@ class SIPadapterTest(unittest.TestCase):
         subtask_input.dataproducts.set(related_dataproducts)
         subtask_output = models.SubtaskOutput.objects.create(**SubtaskOutput_test_data(subtask=subtask))
 
-        # create a bunch of main dataproducts (pipeline output) and their SIPs (we create several to test performance):
+        # create a bunch of main dataproducts (pipeline output)
+        main_dataproducts = []
         for i in range(10):
             dataproduct: models.Dataproduct = models.Dataproduct.objects.create(**Dataproduct_test_data(filename='my_main_dataproduct_%s' % i, feedback_doc=feedback_doc, producer=subtask_output,
                                                                                                         dataformat=models.Dataformat.objects.get(value="Beamformed"),
@@ -511,7 +512,11 @@ class SIPadapterTest(unittest.TestCase):
 
             dataproduct.sap = sap
             dataproduct.save()
+            main_dataproducts.append(dataproduct)
 
+        # create their SIPs (separate loop since dataproduct.save() will invalidate cache):
+        for i in range(10):
+            dataproduct = main_dataproducts[i]
             sip = generate_sip_for_dataproduct(dataproduct)
             self.assertIn(str('my_related_dataproduct_42'), sip.get_prettyxml())
             self.assertIn(str(f'my_main_dataproduct_{i}'), sip.get_prettyxml())
-- 
GitLab