diff --git a/tests/integration/full/full_test_env_suit.py b/tests/integration/full/full_test_env_suit.py
new file mode 100644
index 0000000000000000000000000000000000000000..4af5885723222e22a8c8d52b5b9e2a6746094b95
--- /dev/null
+++ b/tests/integration/full/full_test_env_suit.py
@@ -0,0 +1,122 @@
+import argparse
+import copy
+import os
+import sys
+import unittest
+
+from integration.partial.integration_test_utils import IntegrationTestUtils
+
+
+class FullTestEnvSuit(unittest.TestCase):
+
+    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()
+
+
+    @staticmethod
+    def write_temp_run_config_file():
+        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)
+        run_dict['WorkspacePathout'] = FullTestEnvSuit.TEST_OUT_PATH
+        run_dict['WorkspacePath'] = FullTestEnvSuit.TEST_OUT_PATH
+        run_dict['Environment']['WORK_PATH'] = FullTestEnvSuit.TEST_OUT_PATH
+        run_dict['Environment']['INPUT_PATH'] = FullTestEnvSuit.TEST_OUT_PATH
+        run_dict['Environment']['OUTPUT_PATH'] = FullTestEnvSuit.TEST_OUT_PATH
+
+        IntegrationTestUtils.TEMP_CONFIG_FILE_PATH = FullTestEnvSuit.TEST_OUT_PATH + "temp_config.json"
+        IntegrationTestUtils.write_json_file(run_dict, IntegrationTestUtils.TEMP_CONFIG_FILE_PATH)
+
+
+    @staticmethod
+    def run_env_pipeline():
+        component = 'Environment'
+        IntegrationTestUtils.run_external_pipeline(component,
+                                                   FullTestEnvSuit.TEST_START_DATE,
+                                                   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")
+        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_202210010000_202210070000_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_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(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__':
+    parser = argparse.ArgumentParser()
+    parser.add_argument('--config', required = True)
+    parser.add_argument('--outdir', required = True)
+    parser.add_argument('--email_cred', required = True)
+    parser.add_argument('--run_date_type', required = False)
+    parser.add_argument('--custom_run_date', required = False)
+    parser.add_argument('unittest_args', nargs='*')
+
+    _args = parser.parse_args()
+    _config_file: str = _args.config
+    _outdir: str = _args.outdir
+    _email_cred_path: str = _args.email_cred
+    _run_date_type: str = _args.run_date_type
+    _custom_run_date: str = _args.custom_run_date
+
+    IntegrationTestUtils.DEFAULT_CONFIG_FILE_PATH = _config_file
+
+    FullTestEnvSuit.TEST_OUT_PATH = _outdir
+    IntegrationTestUtils.EMAIL_CRED_PATH = _email_cred_path
+
+    FullTestEnvSuit.TEST_START_DATE = IntegrationTestUtils.generate_run_date(_run_date_type, _custom_run_date)
+
+    FullTestEnvSuit.TEST_JOB_DIR = "ENVIRONMENT" \
+                                   "_" + FullTestEnvSuit.TEST_START_DATE
+
+    #  Now set the sys.argv to the unittest_args (leaving sys.argv[0] alone)
+    sys.argv[1:] = _args.unittest_args
+    unittest.main()