diff --git a/tests/integration/full/full_test_deposition.py b/tests/integration/full/full_test_deposition.py
index 33f942acb8c0a2fafe36ee4890f786093807c5e0..892364a3d5619d90c051a0b5f5a53b98dcd10903 100644
--- a/tests/integration/full/full_test_deposition.py
+++ b/tests/integration/full/full_test_deposition.py
@@ -10,16 +10,11 @@ from integration.test_suites.depo_test_suite import BaseDepoTestSuite
 
 class FullTestDeposition(BaseDepoTestSuite.DepoTestSuite):
 
-    def set_expected_values(self,
-                            ea_csv_count: int = 9,
-                            eth_csv_count: int = 9,
-                            ea_png_count: int = 3,
-                            eth_png_count: int = 3):
-
-        self.EA_CSV_COUNT = ea_csv_count
-        self.ETH_CSV_COUNT = eth_csv_count
-        self.EA_PNG_COUNT = ea_png_count
-        self.ETH_PNG_COUNT = eth_png_count
+    def set_expected_values(self):
+        self.EA_CSV_COUNT = 9
+        self.ETH_CSV_COUNT = 9
+        self.EA_PNG_COUNT = 3
+        self.ETH_PNG_COUNT = 3
 
 
     def setUp(self) -> None:
@@ -76,8 +71,8 @@ if __name__ == '__main__':
     IntegrationTestUtils.DEFAULT_CONFIG_FILE_PATH = _config_file
 
     nowstring: str = IntegrationTestUtils.get_now_string()
-    prefix: str = "temp_depo_" + nowstring
-    # prefix: str = "temp_depo"
+    # prefix: str = "temp_depo_" + nowstring
+    prefix: str = "temp_depo"
     BaseDepoTestSuite.DepoTestSuite.TEST_OUT_PATH = _outdir + prefix + os.sep
     IntegrationTestUtils.EMAIL_CRED_PATH = _email_cred_path
 
diff --git a/tests/integration/full/full_test_env_suit.py b/tests/integration/full/full_test_env_suit.py
index 9bee81516c75d2e5983d7f0d23313e70bcc7789f..9d728d7136150c445d009106379a94617b758e14 100644
--- a/tests/integration/full/full_test_env_suit.py
+++ b/tests/integration/full/full_test_env_suit.py
@@ -6,25 +6,27 @@ import sys
 import unittest
 
 from integration.partial.integration_test_utils import IntegrationTestUtils
+from integration.test_suites.env_suit_test_suite import BaseEnvSuitTestSuite
 
 
-class FullTestEnvSuit(unittest.TestCase):
+class FullTestEnvSuit(BaseEnvSuitTestSuite.EnvSuitTestSuite):
 
-    TEST_OUT_PATH: str = "NOT_SET"
-    TEST_START_DATE: str = 'NOT_SET'
-    TEST_JOB_DIR: str = "NOT_SET"
-
-    @classmethod
-    def setUpClass(cls) -> None:
-        FullTestEnvSuit.write_temp_run_config_file()
-        FullTestEnvSuit.run_env_pipeline()
-        status_file_path = os.path.join(FullTestEnvSuit.TEST_OUT_PATH, FullTestEnvSuit.TEST_JOB_DIR)
-        status_file = os.path.join(FullTestEnvSuit.TEST_OUT_PATH, FullTestEnvSuit.TEST_JOB_DIR, "STATUS_SUCCESS")
-        #os.makedirs(status_file_path, exist_ok = True)
-        #os.mknod(status_file)
+    def set_expected_values(self):
         pass
 
 
+    def setUp(self) -> None:
+
+        self.set_expected_values()
+
+        if BaseEnvSuitTestSuite.EnvSuitTestSuite.TEST_OUT_PATH is None or not os.path.isdir(
+                BaseEnvSuitTestSuite.EnvSuitTestSuite.TEST_OUT_PATH):
+            FullTestEnvSuit.write_temp_run_config_file()
+            FullTestEnvSuit.run_env_pipeline()
+        else:
+            print(f"output in {BaseEnvSuitTestSuite.EnvSuitTestSuite.TEST_OUT_PATH} already written, skipping rerun")
+
+
     @staticmethod
     def write_temp_run_config_file():
         default_config = IntegrationTestUtils.DEFAULT_CONFIG_FILE_PATH
@@ -36,7 +38,8 @@ class FullTestEnvSuit(unittest.TestCase):
         run_dict['Environment']['INPUT_PATH'] = FullTestEnvSuit.TEST_OUT_PATH
         run_dict['Environment']['OUTPUT_PATH'] = FullTestEnvSuit.TEST_OUT_PATH
 
-        IntegrationTestUtils.TEMP_CONFIG_FILE_NAME = FullTestEnvSuit.TEST_OUT_PATH + "temp_config.json"
+        os.makedirs(BaseEnvSuitTestSuite.EnvSuitTestSuite.TEST_OUT_PATH)
+        IntegrationTestUtils.TEMP_CONFIG_FILE_NAME = BaseEnvSuitTestSuite.EnvSuitTestSuite.TEST_OUT_PATH + "temp_config.json"
         IntegrationTestUtils.write_json_file(run_dict, IntegrationTestUtils.TEMP_CONFIG_FILE_NAME)
 
 
@@ -48,54 +51,54 @@ class FullTestEnvSuit(unittest.TestCase):
                                                    IntegrationTestUtils.EMAIL_CRED_PATH)
 
 
-    def test_standard_run_input_status_success(self):
-        status_file_path = os.path.join(FullTestEnvSuit.TEST_OUT_PATH, FullTestEnvSuit.TEST_JOB_DIR, "STATUS_SUCCESS")
-        print(f"looking for {status_file_path}")
-        success_file_exists: bool = os.path.isfile(status_file_path)
-        self.assertTrue(success_file_exists)
-
-
-    def test_standard_run_input_all_regions_ran(self):
-        """
-        working on the assumption that if there are images for each region, it must have run through
-        (at least past the region iteration)
-        """
-
-        east_africa_image_path = os.path.join(FullTestEnvSuit.TEST_OUT_PATH, FullTestEnvSuit.TEST_JOB_DIR,
-                                              "plotting", "eastafrica", "images", "Weekly",
-                                              "suitability_eastafrica_leaf_rust_total_*_map.png")
-        ethiopia_image_path = os.path.join(FullTestEnvSuit.TEST_OUT_PATH, FullTestEnvSuit.TEST_JOB_DIR,
-                                           "plotting", "ethiopia", "images", "Weekly",
-                                           "suitability_ethiopia_leaf_rust_total_*_map.png")
-
-        ea_file_exists: bool = len(glob.glob(east_africa_image_path)) > 0
-        eth_file_exists: bool = len(glob.glob(ethiopia_image_path)) > 0
-        self.assertTrue(ea_file_exists)
-        self.assertTrue(eth_file_exists)
-
-
-    def test_standard_run_all_input_csvs_produced(self):
-        east_africa_csv_path = os.path.join(FullTestEnvSuit.TEST_OUT_PATH, FullTestEnvSuit.TEST_JOB_DIR,
-                                            "plotting", "eastafrica", "input_csvs", "*.csv")
-        ethiopia_csv_path = os.path.join(FullTestEnvSuit.TEST_OUT_PATH, FullTestEnvSuit.TEST_JOB_DIR,
-                                         "plotting", "ethiopia", "input_csvs", "*.csv")
-
-        ea_csv_count: int = IntegrationTestUtils.count_files_in_wildcard(east_africa_csv_path)
-        eth_csv_count: int = IntegrationTestUtils.count_files_in_wildcard(ethiopia_csv_path)
-        self.assertEqual(18, ea_csv_count)
-        self.assertEqual(18, eth_csv_count)
-
-
-    def test_standard_run_all_images_produced(self):
-        east_africa_image_path = os.path.join(FullTestEnvSuit.TEST_OUT_PATH, FullTestEnvSuit.TEST_JOB_DIR,
-                                              "plotting", "eastafrica", "images", "Weekly", "*.png")
-        ethiopia_image_path = os.path.join(FullTestEnvSuit.TEST_OUT_PATH, FullTestEnvSuit.TEST_JOB_DIR,
-                                           "plotting", "ethiopia", "images", "Weekly", "*.png")
-
-        ea_csv_count: int = IntegrationTestUtils.count_files_in_wildcard(east_africa_image_path)
-        eth_csv_count: int = IntegrationTestUtils.count_files_in_wildcard(ethiopia_image_path)
-        self.assertEqual(6, ea_csv_count)
-        self.assertEqual(6, eth_csv_count)
+    # def test_standard_run_input_status_success(self):
+    #     status_file_path = os.path.join(FullTestEnvSuit.TEST_OUT_PATH, FullTestEnvSuit.TEST_JOB_DIR, "STATUS_SUCCESS")
+    #     print(f"looking for {status_file_path}")
+    #     success_file_exists: bool = os.path.isfile(status_file_path)
+    #     self.assertTrue(success_file_exists)
+    #
+    #
+    # def test_standard_run_input_all_regions_ran(self):
+    #     """
+    #     working on the assumption that if there are images for each region, it must have run through
+    #     (at least past the region iteration)
+    #     """
+    #
+    #     east_africa_image_path = os.path.join(FullTestEnvSuit.TEST_OUT_PATH, FullTestEnvSuit.TEST_JOB_DIR,
+    #                                           "plotting", "eastafrica", "images", "Weekly",
+    #                                           "suitability_eastafrica_leaf_rust_total_*_map.png")
+    #     ethiopia_image_path = os.path.join(FullTestEnvSuit.TEST_OUT_PATH, FullTestEnvSuit.TEST_JOB_DIR,
+    #                                        "plotting", "ethiopia", "images", "Weekly",
+    #                                        "suitability_ethiopia_leaf_rust_total_*_map.png")
+    #
+    #     ea_file_exists: bool = len(glob.glob(east_africa_image_path)) > 0
+    #     eth_file_exists: bool = len(glob.glob(ethiopia_image_path)) > 0
+    #     self.assertTrue(ea_file_exists)
+    #     self.assertTrue(eth_file_exists)
+    #
+    #
+    # def test_standard_run_all_input_csvs_produced(self):
+    #     east_africa_csv_path = os.path.join(FullTestEnvSuit.TEST_OUT_PATH, FullTestEnvSuit.TEST_JOB_DIR,
+    #                                         "plotting", "eastafrica", "input_csvs", "*.csv")
+    #     ethiopia_csv_path = os.path.join(FullTestEnvSuit.TEST_OUT_PATH, FullTestEnvSuit.TEST_JOB_DIR,
+    #                                      "plotting", "ethiopia", "input_csvs", "*.csv")
+    #
+    #     ea_csv_count: int = IntegrationTestUtils.count_files_in_wildcard(east_africa_csv_path)
+    #     eth_csv_count: int = IntegrationTestUtils.count_files_in_wildcard(ethiopia_csv_path)
+    #     self.assertEqual(18, ea_csv_count)
+    #     self.assertEqual(18, eth_csv_count)
+    #
+    #
+    # def test_standard_run_all_images_produced(self):
+    #     east_africa_image_path = os.path.join(FullTestEnvSuit.TEST_OUT_PATH, FullTestEnvSuit.TEST_JOB_DIR,
+    #                                           "plotting", "eastafrica", "images", "Weekly", "*.png")
+    #     ethiopia_image_path = os.path.join(FullTestEnvSuit.TEST_OUT_PATH, FullTestEnvSuit.TEST_JOB_DIR,
+    #                                        "plotting", "ethiopia", "images", "Weekly", "*.png")
+    #
+    #     ea_csv_count: int = IntegrationTestUtils.count_files_in_wildcard(east_africa_image_path)
+    #     eth_csv_count: int = IntegrationTestUtils.count_files_in_wildcard(ethiopia_image_path)
+    #     self.assertEqual(6, ea_csv_count)
+    #     self.assertEqual(6, eth_csv_count)
 
 
 if __name__ == '__main__':
@@ -116,14 +119,15 @@ if __name__ == '__main__':
 
     IntegrationTestUtils.DEFAULT_CONFIG_FILE_PATH = _config_file
 
-    FullTestEnvSuit.TEST_OUT_PATH = _outdir
+    nowstring: str = IntegrationTestUtils.get_now_string()
+    # prefix: str = "temp_env_" + nowstring
+    prefix: str = "temp_env"
+    BaseEnvSuitTestSuite.EnvSuitTestSuite.TEST_OUT_PATH = _outdir + prefix + os.sep
     IntegrationTestUtils.EMAIL_CRED_PATH = _email_cred_path
 
-    # FullTestEnvSuit.TEST_START_DATE = "20230227"
-    FullTestEnvSuit.TEST_START_DATE = IntegrationTestUtils.generate_run_date(_run_date_type, _custom_run_date)
-
-    FullTestEnvSuit.TEST_JOB_DIR = "ENVIRONMENT_2.0" \
-                                   "_" + FullTestEnvSuit.TEST_START_DATE
+    BaseEnvSuitTestSuite.EnvSuitTestSuite.TEST_START_DATE = IntegrationTestUtils.generate_run_date(_run_date_type,
+                                                                                                   _custom_run_date)
+    BaseEnvSuitTestSuite.EnvSuitTestSuite.TEST_JOB_DIR = "ENVIRONMENT_2.0_" + FullTestEnvSuit.TEST_START_DATE
 
     #  Now set the sys.argv to the unittest_args (leaving sys.argv[0] alone)
     sys.argv[1:] = _args.unittest_args
diff --git a/tests/integration/partial/integration_test_utils.py b/tests/integration/partial/integration_test_utils.py
index 1bde5ac2a7030256764c0bac6319a422877c56d4..6aef1ba3b7f81ffd0d0596364a5af21b664ac5f0 100644
--- a/tests/integration/partial/integration_test_utils.py
+++ b/tests/integration/partial/integration_test_utils.py
@@ -98,7 +98,7 @@ class IntegrationTestUtils:
         args_dict['component'] = component
         args_dict['config_paths'] = [IntegrationTestUtils.TEMP_CONFIG_FILE_NAME]
         args_dict['log_level'] = 'info'
-        args_dict['clearup'] = False
+        args_dict['clearup'] = True
 
         for key, value in kwargs.items():
             args_dict[key] = value
diff --git a/tests/integration/partial/run_tests.sh b/tests/integration/partial/run_test_suite.sh
similarity index 100%
rename from tests/integration/partial/run_tests.sh
rename to tests/integration/partial/run_test_suite.sh
diff --git a/tests/integration/partial/test_deposition.py b/tests/integration/partial/test_deposition.py
index a11d91f90d01d69f09237aa9b6e5cb1ea3095b36..90f9c06daa9fa0094d9db9861d30a2e359cf68da 100644
--- a/tests/integration/partial/test_deposition.py
+++ b/tests/integration/partial/test_deposition.py
@@ -9,6 +9,10 @@ from integration.test_suites.depo_test_suite import BaseDepoTestSuite
 class TestDeposition(BaseDepoTestSuite.DepoTestSuite):
 
     def set_expected_values(self):
+
+        BaseDepoTestSuite.DepoTestSuite.TEST_START_DATE = "20221001"
+        BaseDepoTestSuite.DepoTestSuite.TEST_JOB_DIR = "DEPOSITION_" + self.TEST_START_DATE
+
         self.EA_CSV_COUNT = 9
         self.ETH_CSV_COUNT = 27
         self.EA_PNG_COUNT = 3
@@ -28,8 +32,8 @@ class TestDeposition(BaseDepoTestSuite.DepoTestSuite):
     @staticmethod
     def write_temp_run_config_file():
         nowstring: str = IntegrationTestUtils.get_now_string()
-        prefix: str = "temp_depo_" + nowstring
-        # prefix: str = "temp_depo"
+        # prefix: str = "temp_depo_" + nowstring
+        prefix: str = "temp_depo"
 
         default_config = IntegrationTestUtils.DEFAULT_CONFIG_FILE_PATH
         default_config_dict: dict = IntegrationTestUtils.load_json_file(default_config)
diff --git a/tests/integration/partial/test_env_suit.py b/tests/integration/partial/test_env_suit.py
index c414af6bc7096e64a988489b49c2017e83d1c230..010f240473ce51555f00ab873b72309c6dca008e 100644
--- a/tests/integration/partial/test_env_suit.py
+++ b/tests/integration/partial/test_env_suit.py
@@ -3,96 +3,61 @@ import os
 import unittest
 
 from integration.partial.integration_test_utils import IntegrationTestUtils
+from integration.test_suites.env_suit_test_suite import BaseEnvSuitTestSuite
 
 
-class TestEnvSuit(unittest.TestCase):
+class TestEnvSuit(BaseEnvSuitTestSuite.EnvSuitTestSuite):
 
-    TEST_OUT_PATH: str = "not_set"
-    TEST_START_DATE: str = '20221001'
-    TEST_JOB_DIR: str = "ENVIRONMENT_2.0_" + TEST_START_DATE
+    def set_expected_values(self):
+        BaseEnvSuitTestSuite.EnvSuitTestSuite.TEST_START_DATE = "20221001"
+        BaseEnvSuitTestSuite.EnvSuitTestSuite.TEST_JOB_DIR = "ENVIRONMENT_2.0_" + self.TEST_START_DATE
 
-    @classmethod
-    def setUpClass(cls) -> None:
-        TestEnvSuit.write_temp_run_config_file()
-        TestEnvSuit.run_env_pipeline()
+        self.EA_CSV_COUNT = 18
+        self.ETH_CSV_COUNT = 18
+        self.EA_PNG_COUNT = 6
+        self.ETH_PNG_COUNT = 6
+
+    def setUp(self) -> None:
+
+        self.set_expected_values()
+
+        if BaseEnvSuitTestSuite.EnvSuitTestSuite.TEST_OUT_PATH is None or not os.path.isdir(
+                BaseEnvSuitTestSuite.EnvSuitTestSuite.TEST_OUT_PATH):
+            TestEnvSuit.write_temp_run_config_file()
+            TestEnvSuit.run_env_pipeline()
+        else:
+            print(f"output in {BaseEnvSuitTestSuite.EnvSuitTestSuite.TEST_OUT_PATH} already written, skipping rerun")
 
 
     @staticmethod
     def write_temp_run_config_file():
         nowstring: str = IntegrationTestUtils.get_now_string()
-        prefix: str = "temp_env_" + nowstring
-        # prefix: str = ""
+        # prefix: str = "temp_env_" + nowstring
+        prefix: str = "temp_env"
 
         default_config = IntegrationTestUtils.DEFAULT_CONFIG_FILE_PATH
         default_config_dict: dict = IntegrationTestUtils.load_json_file(default_config)
         run_dict: dict = copy.deepcopy(default_config_dict)
-        TestEnvSuit.TEST_OUT_PATH = run_dict['WorkspacePathout'] + prefix + os.sep
-        run_dict['WorkspacePathout'] = TestEnvSuit.TEST_OUT_PATH
-        run_dict['WorkspacePath'] = TestEnvSuit.TEST_OUT_PATH
-        run_dict['Environment']['WORK_PATH'] = TestEnvSuit.TEST_OUT_PATH
-        run_dict['Environment']['INPUT_PATH'] = TestEnvSuit.TEST_OUT_PATH
-        run_dict['Environment']['OUTPUT_PATH'] = TestEnvSuit.TEST_OUT_PATH
+        BaseEnvSuitTestSuite.EnvSuitTestSuite.TEST_OUT_PATH = IntegrationTestUtils.TEST_WORKSPACE_PATH + prefix + os.sep
+        run_dict['WorkspacePathout'] = BaseEnvSuitTestSuite.EnvSuitTestSuite.TEST_OUT_PATH
+        run_dict['WorkspacePath'] = BaseEnvSuitTestSuite.EnvSuitTestSuite.TEST_OUT_PATH
+        run_dict['Environment']['WORK_PATH'] = BaseEnvSuitTestSuite.EnvSuitTestSuite.TEST_OUT_PATH
+        run_dict['Environment']['INPUT_PATH'] = BaseEnvSuitTestSuite.EnvSuitTestSuite.TEST_OUT_PATH
+        run_dict['Environment']['OUTPUT_PATH'] = BaseEnvSuitTestSuite.EnvSuitTestSuite.TEST_OUT_PATH
         run_dict['ServerName'] = ''  # nothing, as local machine
-        full_server_path = os.path.abspath(
-            "../../test_data/test_deployment/regions/EastAfrica/resources/coordinator/assets/")
+        full_server_path = os.path.abspath(IntegrationTestUtils.TEST_ASSETS_PATH)
         run_dict['Environment']['ServerPathTemplate'] = full_server_path
 
+        # may be reusing a non-timestamped output file during development, so allow extant TEST_OUT_PATH
+        os.makedirs(BaseEnvSuitTestSuite.EnvSuitTestSuite.TEST_OUT_PATH, exist_ok = True)
+        IntegrationTestUtils.TEMP_CONFIG_FILE_NAME = BaseEnvSuitTestSuite.EnvSuitTestSuite.TEST_OUT_PATH + "temp_config.json"
         IntegrationTestUtils.write_json_file(run_dict, IntegrationTestUtils.TEMP_CONFIG_FILE_NAME)
 
 
     @staticmethod
     def run_env_pipeline():
         component = 'Environment'
-        IntegrationTestUtils.run_unittest_pipeline(component, TestEnvSuit.TEST_START_DATE)
-
-
-    def test_standard_run_input_status_success(self):
-        status_file_path = os.path.join(TestEnvSuit.TEST_OUT_PATH, TestEnvSuit.TEST_JOB_DIR, "STATUS_SUCCESS")
-        success_file_exists: bool = os.path.isfile(status_file_path)
-        self.assertTrue(success_file_exists)
-
-
-    def test_standard_run_input_all_regions_ran(self):
-        """
-        working on the assumption that if there are images for each region, it must have run through
-        (at least past the region iteration)
-        """
-
-        east_africa_image_path = os.path.join(TestEnvSuit.TEST_OUT_PATH, TestEnvSuit.TEST_JOB_DIR,
-                                              "plotting", "eastafrica", "images", "Weekly",
-                                              "suitability_eastafrica_leaf_rust_total_202210010000_202210070000_map.png")
-        ethiopia_image_path = os.path.join(TestEnvSuit.TEST_OUT_PATH, TestEnvSuit.TEST_JOB_DIR,
-                                           "plotting", "ethiopia", "images", "Weekly",
-                                           "suitability_ethiopia_leaf_rust_total_202210010000_202210070000_map.png")
-
-        ea_file_exists: bool = os.path.isfile(east_africa_image_path)
-        eth_file_exists: bool = os.path.isfile(ethiopia_image_path)
-        self.assertTrue(ea_file_exists)
-        self.assertTrue(eth_file_exists)
-
-
-    def test_standard_run_all_input_csvs_produced(self):
-        east_africa_csv_path = os.path.join(TestEnvSuit.TEST_OUT_PATH, TestEnvSuit.TEST_JOB_DIR,
-                                            "plotting", "eastafrica", "input_csvs", "*.csv")
-        ethiopia_csv_path = os.path.join(TestEnvSuit.TEST_OUT_PATH, TestEnvSuit.TEST_JOB_DIR,
-                                         "plotting", "ethiopia", "input_csvs", "*.csv")
-
-        ea_csv_count: int = IntegrationTestUtils.count_files_in_wildcard(east_africa_csv_path)
-        eth_csv_count: int = IntegrationTestUtils.count_files_in_wildcard(ethiopia_csv_path)
-        self.assertEqual(18, ea_csv_count)
-        self.assertEqual(18, eth_csv_count)
-
-
-    def test_standard_run_all_images_produced(self):
-        east_africa_image_path = os.path.join(TestEnvSuit.TEST_OUT_PATH, TestEnvSuit.TEST_JOB_DIR,
-                                              "plotting", "eastafrica", "images", "Weekly", "*.png")
-        ethiopia_image_path = os.path.join(TestEnvSuit.TEST_OUT_PATH, TestEnvSuit.TEST_JOB_DIR,
-                                           "plotting", "ethiopia", "images", "Weekly", "*.png")
-
-        ea_csv_count: int = IntegrationTestUtils.count_files_in_wildcard(east_africa_image_path)
-        eth_csv_count: int = IntegrationTestUtils.count_files_in_wildcard(ethiopia_image_path)
-        self.assertEqual(6, ea_csv_count)
-        self.assertEqual(6, eth_csv_count)
+        IntegrationTestUtils.run_unittest_pipeline(component, BaseEnvSuitTestSuite.EnvSuitTestSuite.TEST_START_DATE)
 
 
 if __name__ == '__main__':
diff --git a/tests/integration/test_suites/depo_test_suite.py b/tests/integration/test_suites/depo_test_suite.py
index ec691bb4a77fe64d14cf62f3cfb6fe96ba2cd422..b81bbe1b1ab5283e9ef9b0a254ad0e06cc5ead90 100644
--- a/tests/integration/test_suites/depo_test_suite.py
+++ b/tests/integration/test_suites/depo_test_suite.py
@@ -11,22 +11,27 @@ class BaseDepoTestSuite:
     """
     to prevent the full integrations tests that extend the partial integrations tests running the tests twice,
     the test suite is nested in a base class, to keep it at a separate package-level
+    https://stackoverflow.com/questions/1323455/python-unit-test-with-base-and-sub-class
     """
 
     class DepoTestSuite(unittest.TestCase):
 
         TEST_OUT_PATH: str = None
-        TEST_START_DATE: str = '20221001'  # default
-        TEST_JOB_DIR: str = "DEPOSITION_" + TEST_START_DATE
-
-        """
-        these fields need to be overridden in the tests that use this test suite, override the 
-        'set_expected_values' function below
-        """
-        EA_CSV_COUNT: int = None
-        ETH_CSV_COUNT: int = None
-        EA_PNG_COUNT: int = None
-        ETH_PNG_COUNT: int = None
+        TEST_START_DATE: str = None
+        TEST_JOB_DIR: str = None
+
+
+        def __init__(self, methodName: str = ...) -> None:
+            super().__init__(methodName)
+
+            """
+            these fields need to be overridden in the tests that use this test suite, override the 
+            'set_expected_values' function below
+            """
+            self.EA_CSV_COUNT: int = 0
+            self.ETH_CSV_COUNT: int = 0
+            self.EA_PNG_COUNT: int = 0
+            self.ETH_PNG_COUNT: int = 0
 
 
         @abc.abstractmethod
diff --git a/tests/integration/test_suites/env_suit_test_suite.py b/tests/integration/test_suites/env_suit_test_suite.py
new file mode 100644
index 0000000000000000000000000000000000000000..b6a20d878e28e021a601c00823201cf445d9a985
--- /dev/null
+++ b/tests/integration/test_suites/env_suit_test_suite.py
@@ -0,0 +1,91 @@
+import abc
+import glob
+import os
+import unittest
+
+from integration.partial.integration_test_utils import IntegrationTestUtils
+
+
+class BaseEnvSuitTestSuite:
+
+    """
+    to prevent the full integrations tests that extend the partial integrations tests running the tests twice,
+    the test suite is nested in a base class, to keep it at a separate package-level
+    https://stackoverflow.com/questions/1323455/python-unit-test-with-base-and-sub-class
+    """
+
+    class EnvSuitTestSuite(unittest.TestCase):
+
+        TEST_OUT_PATH: str = None
+        TEST_START_DATE: str = None
+        TEST_JOB_DIR: str = None
+
+        """
+        these fields need to be overridden in the tests that use this test suite, override the 
+        'set_expected_values' function below
+        """
+        EA_CSV_COUNT: int = None
+        ETH_CSV_COUNT: int = None
+        EA_PNG_COUNT: int = None
+        ETH_PNG_COUNT: int = None
+
+
+        @abc.abstractmethod
+        def set_expected_values(self):
+            return
+
+
+        def test_standard_run_input_status_success(self):
+            status_file_path = os.path.join(BaseEnvSuitTestSuite.EnvSuitTestSuite.TEST_OUT_PATH,
+                                            BaseEnvSuitTestSuite.EnvSuitTestSuite.TEST_JOB_DIR, "STATUS_SUCCESS")
+            success_file_exists: bool = os.path.isfile(status_file_path)
+            self.assertTrue(success_file_exists)
+
+
+        def test_standard_run_input_all_regions_ran(self):
+            """
+            working on the assumption that if there are images for each region, it must have run through
+            (at least past the region iteration)
+            """
+
+            east_africa_image_path = os.path.join(BaseEnvSuitTestSuite.EnvSuitTestSuite.TEST_OUT_PATH,
+                                                  BaseEnvSuitTestSuite.EnvSuitTestSuite.TEST_JOB_DIR,
+                                                  "plotting", "eastafrica", "images", "Weekly",
+                                                  "suitability_eastafrica_leaf_rust_total_*_map.png")
+            ethiopia_image_path = os.path.join(BaseEnvSuitTestSuite.EnvSuitTestSuite.TEST_OUT_PATH,
+                                               BaseEnvSuitTestSuite.EnvSuitTestSuite.TEST_JOB_DIR,
+                                               "plotting", "ethiopia", "images", "Weekly",
+                                               "suitability_ethiopia_leaf_rust_total_*_map.png")
+
+            ea_file_exists: bool = len(glob.glob(east_africa_image_path)) > 0
+            eth_file_exists: bool = len(glob.glob(ethiopia_image_path)) > 0
+            self.assertTrue(ea_file_exists)
+            self.assertTrue(eth_file_exists)
+
+
+        def test_standard_run_all_input_csvs_produced(self):
+            east_africa_csv_path = os.path.join(BaseEnvSuitTestSuite.EnvSuitTestSuite.TEST_OUT_PATH,
+                                                BaseEnvSuitTestSuite.EnvSuitTestSuite.TEST_JOB_DIR,
+                                                "plotting", "eastafrica", "input_csvs", "*.csv")
+            ethiopia_csv_path = os.path.join(BaseEnvSuitTestSuite.EnvSuitTestSuite.TEST_OUT_PATH,
+                                             BaseEnvSuitTestSuite.EnvSuitTestSuite.TEST_JOB_DIR,
+                                             "plotting", "ethiopia", "input_csvs", "*.csv")
+
+            ea_csv_count: int = IntegrationTestUtils.count_files_in_wildcard(east_africa_csv_path)
+            eth_csv_count: int = IntegrationTestUtils.count_files_in_wildcard(ethiopia_csv_path)
+            self.assertEqual(self.EA_CSV_COUNT, ea_csv_count)
+            self.assertEqual(self.ETH_CSV_COUNT, eth_csv_count)
+
+
+        def test_standard_run_all_images_produced(self):
+            east_africa_image_path = os.path.join(BaseEnvSuitTestSuite.EnvSuitTestSuite.TEST_OUT_PATH,
+                                                  BaseEnvSuitTestSuite.EnvSuitTestSuite.TEST_JOB_DIR,
+                                                  "plotting", "eastafrica", "images", "Weekly", "*.png")
+            ethiopia_image_path = os.path.join(BaseEnvSuitTestSuite.EnvSuitTestSuite.TEST_OUT_PATH,
+                                               BaseEnvSuitTestSuite.EnvSuitTestSuite.TEST_JOB_DIR,
+                                               "plotting", "ethiopia", "images", "Weekly", "*.png")
+
+            ea_csv_count: int = IntegrationTestUtils.count_files_in_wildcard(east_africa_image_path)
+            eth_csv_count: int = IntegrationTestUtils.count_files_in_wildcard(ethiopia_image_path)
+            self.assertEqual(self.EA_PNG_COUNT, ea_csv_count)
+            self.assertEqual(self.ETH_PNG_COUNT, eth_csv_count)
\ No newline at end of file