Newer
Older
from integration.partial.integration_test_utils import IntegrationTestUtils
TEST_START_DATE: str = '20221001'
TEST_JOB_DIR: str = "ADVISORY_" + TEST_START_DATE
TestAdvisory.write_temp_run_config_files()
TestAdvisory.unpack_dependencies()
def write_temp_run_config_files():
nowstring: str = IntegrationTestUtils.get_now_string()
prefix: str = "temp_advisory_" + nowstring
# prefix: str = ""
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)
TestAdvisory.TEST_OUT_PATH = run_dict['WorkspacePathout'] + prefix + os.sep
run_dict['WorkspacePathout'] = TestAdvisory.TEST_OUT_PATH
run_dict['WorkspacePath'] = TestAdvisory.TEST_OUT_PATH
run_dict['ServerName'] = '' # nothing, as local machine
IntegrationTestUtils.write_json_file(run_dict, IntegrationTestUtils.TEMP_CONFIG_FILE_PATH)
@staticmethod
def unpack_dependencies():
IntegrationTestUtils.unpack_zip(IntegrationTestUtils.EXAMPLE_SURVEY_FILE_PATH, TestAdvisory.TEST_OUT_PATH)
IntegrationTestUtils.unpack_zip(IntegrationTestUtils.EXAMPLE_DEPO_FILE_PATH, TestAdvisory.TEST_OUT_PATH)
IntegrationTestUtils.unpack_zip(IntegrationTestUtils.EXAMPLE_ENV_SUIT_FILE_PATH, TestAdvisory.TEST_OUT_PATH)
@staticmethod
def run_advisory_pipeline():
component = 'Advisory'
IntegrationTestUtils.run_unittest_pipeline(component, TestAdvisory.TEST_START_DATE)
status_file_path = os.path.join(TestAdvisory.TEST_OUT_PATH, TestAdvisory.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_docs_produced(self):
east_africa_image_path = os.path.join(TestAdvisory.TEST_OUT_PATH, TestAdvisory.TEST_JOB_DIR,
"tight-layout",
"wheat_rust_advisory_template_EastAfrica_20221001.docx")
ethiopia_image_path = os.path.join(TestAdvisory.TEST_OUT_PATH, TestAdvisory.TEST_JOB_DIR,
"tight-layout",
"wheat_rust_advisory_template_Ethiopia_20221001.docx")
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_input_images_produced(self):
east_africa_image_wildcard = os.path.join(TestAdvisory.TEST_OUT_PATH, TestAdvisory.TEST_JOB_DIR,
"images",
"*eastafrica*.png")
ethiopia_image_wildcard = os.path.join(TestAdvisory.TEST_OUT_PATH, TestAdvisory.TEST_JOB_DIR,
"images",
"*ethiopia*.png")
africa_image_count: int = len(glob.glob(east_africa_image_wildcard))
ethiopia_image_count: int = len(glob.glob(ethiopia_image_wildcard))
self.assertEqual(3, africa_image_count)
self.assertEqual(3, ethiopia_image_count)
def test_standard_run_input_shapefiles_produced(self):
east_africa_image_wildcard = os.path.join(TestAdvisory.TEST_OUT_PATH, TestAdvisory.TEST_JOB_DIR,
"images",
"*eastafrica*.shp")
africa_image_count: int = len(glob.glob(east_africa_image_wildcard))
self.assertEqual(3, africa_image_count)