From d9fd779ffbd4aa8ece684bc4777a389a589ceb8b Mon Sep 17 00:00:00 2001
From: lb584 <lb584@cam.ac.uk>
Date: Tue, 2 May 2023 11:32:26 +0100
Subject: [PATCH] reseting the IntegrationTestUtils.TEST_OUT_PATH variable upon
 loading each test class, was having its value carried across from previous
 test runs when being run as past of a test suite

---
 tests/integration/full/full_test_advisory.py         | 2 +-
 tests/integration/full/full_test_deposition.py       | 2 +-
 tests/integration/full/full_test_env_suit.py         | 2 +-
 tests/integration/full/full_test_epi.py              | 2 +-
 tests/integration/full/full_test_survey.py           | 2 +-
 tests/integration/partial/integration_test_utils.py  | 2 +-
 tests/integration/partial/run_test_suite.py          | 3 ++-
 tests/integration/partial/test_env_suit.py           | 1 -
 tests/integration/partial/test_epi.py                | 1 +
 tests/integration/test_suites/advisory_test_suite.py | 4 ++++
 tests/integration/test_suites/depo_test_suite.py     | 4 ++++
 tests/integration/test_suites/env_suit_test_suite.py | 5 +++++
 tests/integration/test_suites/epi_test_suite.py      | 4 ++++
 tests/integration/test_suites/survey_test_suite.py   | 4 ++++
 14 files changed, 30 insertions(+), 8 deletions(-)

diff --git a/tests/integration/full/full_test_advisory.py b/tests/integration/full/full_test_advisory.py
index 8c2c105..4fecbbb 100644
--- a/tests/integration/full/full_test_advisory.py
+++ b/tests/integration/full/full_test_advisory.py
@@ -76,6 +76,6 @@ class FullTestAdvisory(BaseAdvisoryTestSuite.AdvisoryTestSuite):
 
 
 if __name__ == '__main__':
-    IntegrationTestUtils.run_fill_integration_test_pipeline(FullTestAdvisory,
+    IntegrationTestUtils.run_full_integration_test_pipeline(FullTestAdvisory,
                                                             test_prefix = "advisory",
                                                             processor_dir = BaseAdvisoryTestSuite.AdvisoryTestSuite.ADVISORY_PROCESSOR_DIR)
diff --git a/tests/integration/full/full_test_deposition.py b/tests/integration/full/full_test_deposition.py
index c6692a4..e204d79 100644
--- a/tests/integration/full/full_test_deposition.py
+++ b/tests/integration/full/full_test_deposition.py
@@ -49,6 +49,6 @@ class FullTestDeposition(BaseDepoTestSuite.DepoTestSuite):
 
 
 if __name__ == '__main__':
-    IntegrationTestUtils.run_fill_integration_test_pipeline(FullTestDeposition,
+    IntegrationTestUtils.run_full_integration_test_pipeline(FullTestDeposition,
                                                             test_prefix = "deposition",
                                                             processor_dir = BaseDepoTestSuite.DepoTestSuite.DEPO_PROCESSOR_DIR)
diff --git a/tests/integration/full/full_test_env_suit.py b/tests/integration/full/full_test_env_suit.py
index e94a4e8..3017c58 100644
--- a/tests/integration/full/full_test_env_suit.py
+++ b/tests/integration/full/full_test_env_suit.py
@@ -51,6 +51,6 @@ class FullTestEnvSuit(BaseEnvSuitTestSuite.EnvSuitTestSuite):
 
 
 if __name__ == '__main__':
-    IntegrationTestUtils.run_fill_integration_test_pipeline(FullTestEnvSuit,
+    IntegrationTestUtils.run_full_integration_test_pipeline(FullTestEnvSuit,
                                                             test_prefix = "env",
                                                             processor_dir = BaseEnvSuitTestSuite.EnvSuitTestSuite.ENV_PROCESSOR_DIR)
diff --git a/tests/integration/full/full_test_epi.py b/tests/integration/full/full_test_epi.py
index 0187148..c59bd25 100644
--- a/tests/integration/full/full_test_epi.py
+++ b/tests/integration/full/full_test_epi.py
@@ -83,6 +83,6 @@ class FullTestEpi(BaseEpiTestSuite.EpiTestSuite):
 
 
 if __name__ == '__main__':
-    IntegrationTestUtils.run_fill_integration_test_pipeline(FullTestEpi,
+    IntegrationTestUtils.run_full_integration_test_pipeline(FullTestEpi,
                                                             test_prefix = "epi",
                                                             processor_dir = BaseEpiTestSuite.EpiTestSuite.EPI_PROCESSOR_DIR)
diff --git a/tests/integration/full/full_test_survey.py b/tests/integration/full/full_test_survey.py
index 63c1de3..65905fc 100644
--- a/tests/integration/full/full_test_survey.py
+++ b/tests/integration/full/full_test_survey.py
@@ -51,7 +51,7 @@ class FullTestSurvey(BaseSurveyTestSuite.SurveyTestSuite):
 
 
 if __name__ == '__main__':
-    IntegrationTestUtils.run_fill_integration_test_pipeline(FullTestSurvey,
+    IntegrationTestUtils.run_full_integration_test_pipeline(FullTestSurvey,
                                                             test_prefix = "survey",
                                                             processor_dir = BaseSurveyTestSuite.SurveyTestSuite.SURVEY_PROCESSOR_DIR)
 
diff --git a/tests/integration/partial/integration_test_utils.py b/tests/integration/partial/integration_test_utils.py
index 566b2f0..82474ef 100644
--- a/tests/integration/partial/integration_test_utils.py
+++ b/tests/integration/partial/integration_test_utils.py
@@ -41,7 +41,7 @@ class IntegrationTestUtils:
         return parser
 
     @staticmethod
-    def run_fill_integration_test_pipeline(test_case: [TestCase],
+    def run_full_integration_test_pipeline(test_case: [TestCase],
                                            test_prefix: str,
                                            processor_dir: str):
 
diff --git a/tests/integration/partial/run_test_suite.py b/tests/integration/partial/run_test_suite.py
index e48348a..2ec30a6 100644
--- a/tests/integration/partial/run_test_suite.py
+++ b/tests/integration/partial/run_test_suite.py
@@ -11,7 +11,8 @@ from integration.partial.test_advisory import TestAdvisory
 
 
 def run_tests_and_report(output: str):
-    tests: TestSuite = TestLoader().loadTestsFromTestCase(TestDeposition)
+    tests: TestSuite = TestSuite()
+    tests.addTests(TestLoader().loadTestsFromTestCase(TestDeposition))
     tests.addTests(TestLoader().loadTestsFromTestCase(TestEnvSuit))
     tests.addTests(TestLoader().loadTestsFromTestCase(TestSurvey))
     tests.addTests(TestLoader().loadTestsFromTestCase(TestAdvisory))
diff --git a/tests/integration/partial/test_env_suit.py b/tests/integration/partial/test_env_suit.py
index 4548b2c..6d65878 100644
--- a/tests/integration/partial/test_env_suit.py
+++ b/tests/integration/partial/test_env_suit.py
@@ -18,7 +18,6 @@ class TestEnvSuit(BaseEnvSuitTestSuite.EnvSuitTestSuite):
         self.ETH_PNG_COUNT = 6
 
     def setUp(self) -> None:
-        #test edit
         self.set_expected_values()
 
         if IntegrationTestUtils.TEST_OUT_PATH is None or not os.path.isdir(
diff --git a/tests/integration/partial/test_epi.py b/tests/integration/partial/test_epi.py
index ce6223f..c9d98d4 100644
--- a/tests/integration/partial/test_epi.py
+++ b/tests/integration/partial/test_epi.py
@@ -9,6 +9,7 @@ from integration.test_suites.epi_test_suite import BaseEpiTestSuite
 class TestEpi(BaseEpiTestSuite.EpiTestSuite):
 
     def set_expected_values(self):
+        super().set_expected_values()
         BaseEpiTestSuite.EpiTestSuite.TEST_START_DATE = '20221001'
         BaseEpiTestSuite.EpiTestSuite.TEST_JOB_DIR = "EPI_" + BaseEpiTestSuite.EpiTestSuite.TEST_START_DATE
 
diff --git a/tests/integration/test_suites/advisory_test_suite.py b/tests/integration/test_suites/advisory_test_suite.py
index abe06ab..fe3dfef 100644
--- a/tests/integration/test_suites/advisory_test_suite.py
+++ b/tests/integration/test_suites/advisory_test_suite.py
@@ -19,6 +19,10 @@ class BaseAdvisoryTestSuite:
         """
         ADVISORY_PROCESSOR_DIR = "ADVISORY"
 
+        @classmethod
+        def setUpClass(cls) -> None:
+            IntegrationTestUtils.TEST_OUT_PATH = None  # reset this value for each new test class
+
         @abc.abstractmethod
         def set_expected_values(self):
             self.EXPECTED_EA_IMAGE_COUNT = 0
diff --git a/tests/integration/test_suites/depo_test_suite.py b/tests/integration/test_suites/depo_test_suite.py
index 15f88ea..3693879 100644
--- a/tests/integration/test_suites/depo_test_suite.py
+++ b/tests/integration/test_suites/depo_test_suite.py
@@ -19,6 +19,10 @@ class BaseDepoTestSuite:
         """
         DEPO_PROCESSOR_DIR = "DEPOSITION"
 
+        @classmethod
+        def setUpClass(cls) -> None:
+            IntegrationTestUtils.TEST_OUT_PATH = None  # reset this value for each new test class
+
         @abc.abstractmethod
         def set_expected_values(self):
             """
diff --git a/tests/integration/test_suites/env_suit_test_suite.py b/tests/integration/test_suites/env_suit_test_suite.py
index 54d7f2c..ebba559 100644
--- a/tests/integration/test_suites/env_suit_test_suite.py
+++ b/tests/integration/test_suites/env_suit_test_suite.py
@@ -19,6 +19,11 @@ class BaseEnvSuitTestSuite:
         """
         ENV_PROCESSOR_DIR = "ENVIRONMENT_2.0"
 
+        @classmethod
+        def setUpClass(cls) -> None:
+            IntegrationTestUtils.TEST_OUT_PATH = None  # reset this value for each new test class
+
+
         @abc.abstractmethod
         def set_expected_values(self):
             """
diff --git a/tests/integration/test_suites/epi_test_suite.py b/tests/integration/test_suites/epi_test_suite.py
index c931d7a..0a30cd9 100644
--- a/tests/integration/test_suites/epi_test_suite.py
+++ b/tests/integration/test_suites/epi_test_suite.py
@@ -18,6 +18,10 @@ class BaseEpiTestSuite:
         """
         EPI_PROCESSOR_DIR = "EPI"
 
+        @classmethod
+        def setUpClass(cls) -> None:
+            IntegrationTestUtils.TEST_OUT_PATH = None  # reset this value for each new test class
+
         @abc.abstractmethod
         def set_expected_values(self):
             pass
diff --git a/tests/integration/test_suites/survey_test_suite.py b/tests/integration/test_suites/survey_test_suite.py
index 83ef237..ef1ad71 100644
--- a/tests/integration/test_suites/survey_test_suite.py
+++ b/tests/integration/test_suites/survey_test_suite.py
@@ -18,6 +18,10 @@ class BaseSurveyTestSuite:
         """
         SURVEY_PROCESSOR_DIR = "SURVEYDATA"
 
+        @classmethod
+        def setUpClass(cls) -> None:
+            IntegrationTestUtils.TEST_OUT_PATH = None  # reset this value for each new test class
+
         @abc.abstractmethod
         def set_expected_values(self):
             pass
-- 
GitLab