diff --git a/tests/integration/full/full_test_advisory.py b/tests/integration/full/full_test_advisory.py index b432370f7f5e14348e987e06e9d5d30237efff29..a2cc5c7b3d7cfc4448f3852283430ab1a963b6a4 100644 --- a/tests/integration/full/full_test_advisory.py +++ b/tests/integration/full/full_test_advisory.py @@ -1,8 +1,9 @@ -import argparse import copy import os import sys -import unittest +from unittest import TestSuite, TestLoader + +from HtmlTestRunner import HTMLTestRunner from integration.partial.integration_test_utils import IntegrationTestUtils from integration.test_suites.advisory_test_suite import BaseAdvisoryTestSuite @@ -40,11 +41,13 @@ class FullTestAdvisory(BaseAdvisoryTestSuite.AdvisoryTestSuite): run_dict['Environment']['WORK_PATH'] = BaseAdvisoryTestSuite.AdvisoryTestSuite.TEST_OUT_PATH run_dict['Environment']['INPUT_PATH'] = BaseAdvisoryTestSuite.AdvisoryTestSuite.TEST_OUT_PATH run_dict['Environment']['OUTPUT_PATH'] = BaseAdvisoryTestSuite.AdvisoryTestSuite.TEST_OUT_PATH + #make sure we activate server download run_dict['Survey']['SkipServerDownload'] = False - survey_cred_file: str = run_dict['Survey']['ServerCredentialsFile'] + + # survey_cred_file: str = run_dict['Survey']['ServerCredentialsFile'] # run_dict['Survey']['ServerCredentialsFile'] = survey_cred_file.replace("Cred-ODK-EIAR.json", "Cred-ODK-EIAR-NO-WRSIS.json") - run_dict['Survey']['FormEdits'].pop('WRSIS', None) + # run_dict['Survey']['FormEdits'].pop('WRSIS', None) # may be reusing a non-timestamped output file during development, so allow extant TEST_OUT_PATH os.makedirs(BaseAdvisoryTestSuite.AdvisoryTestSuite.TEST_OUT_PATH, exist_ok = True) @@ -74,18 +77,14 @@ class FullTestAdvisory(BaseAdvisoryTestSuite.AdvisoryTestSuite): 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() + + _parser = IntegrationTestUtils.build_arg_parser() + + _args = _parser.parse_args() _config_file: str = _args.config _outdir: str = _args.outdir _email_cred_path: str = _args.email_cred + _test_report_dir: str = _args.test_report_dir _run_date_type: str = _args.run_date_type _custom_run_date: str = _args.custom_run_date @@ -103,4 +102,10 @@ if __name__ == '__main__': # Now set the sys.argv to the unittest_args (leaving sys.argv[0] alone) sys.argv[1:] = _args.unittest_args - unittest.main() + tests: TestSuite = TestLoader().loadTestsFromTestCase(FullTestAdvisory) + + if _test_report_dir is None: + _test_report_dir = BaseAdvisoryTestSuite.AdvisoryTestSuite.TEST_JOB_DIR + + runner = HTMLTestRunner(output=_test_report_dir, combine_reports = True) + runner.run(tests) diff --git a/tests/integration/full/full_test_deposition.py b/tests/integration/full/full_test_deposition.py index d22bf4d85b5a3a2ed46af37cbd20fecd5b2ccf9d..01f38378309b99001b5b950cef063168a268ee6a 100644 --- a/tests/integration/full/full_test_deposition.py +++ b/tests/integration/full/full_test_deposition.py @@ -1,8 +1,6 @@ -import argparse import copy import os import sys -import unittest from unittest import TestLoader, TestSuite from HtmlTestRunner import HTMLTestRunner @@ -24,9 +22,8 @@ class FullTestDeposition(BaseDepoTestSuite.DepoTestSuite): self.set_expected_values() - # if BaseDepoTestSuite.DepoTestSuite.TEST_OUT_PATH is None \ - # or not os.path.isdir(BaseDepoTestSuite.DepoTestSuite.TEST_OUT_PATH): - if True: + if BaseDepoTestSuite.DepoTestSuite.TEST_OUT_PATH is None \ + or not os.path.isdir(BaseDepoTestSuite.DepoTestSuite.TEST_OUT_PATH): FullTestDeposition.write_temp_run_config_file() FullTestDeposition.run_depo_pipeline() else: @@ -57,16 +54,10 @@ class FullTestDeposition(BaseDepoTestSuite.DepoTestSuite): 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('--test_report_dir', required = False) - 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() + + _parser = IntegrationTestUtils.build_arg_parser() + + _args = _parser.parse_args() _config_file: str = _args.config _outdir: str = _args.outdir _email_cred_path: str = _args.email_cred diff --git a/tests/integration/full/full_test_env_suit.py b/tests/integration/full/full_test_env_suit.py index e8e3ff3a1abe63f08370f0ac55352f6de0a3a9d4..66d236585930846ae42afd94665cf793b0a32007 100644 --- a/tests/integration/full/full_test_env_suit.py +++ b/tests/integration/full/full_test_env_suit.py @@ -4,8 +4,12 @@ import glob import os import sys import unittest +from unittest import TestSuite, TestLoader + +from HtmlTestRunner import HTMLTestRunner from integration.partial.integration_test_utils import IntegrationTestUtils +from integration.test_suites.depo_test_suite import BaseDepoTestSuite from integration.test_suites.env_suit_test_suite import BaseEnvSuitTestSuite @@ -54,18 +58,14 @@ class FullTestEnvSuit(BaseEnvSuitTestSuite.EnvSuitTestSuite): 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() + + _parser = IntegrationTestUtils.build_arg_parser() + + _args = _parser.parse_args() _config_file: str = _args.config _outdir: str = _args.outdir _email_cred_path: str = _args.email_cred + _test_report_dir: str = _args.test_report_dir _run_date_type: str = _args.run_date_type _custom_run_date: str = _args.custom_run_date @@ -83,4 +83,10 @@ if __name__ == '__main__': # Now set the sys.argv to the unittest_args (leaving sys.argv[0] alone) sys.argv[1:] = _args.unittest_args - unittest.main() + tests: TestSuite = TestLoader().loadTestsFromTestCase(FullTestEnvSuit) + + if _test_report_dir is None: + _test_report_dir = BaseEnvSuitTestSuite.EnvSuitTestSuite.TEST_JOB_DIR + + runner = HTMLTestRunner(output=_test_report_dir, combine_reports = True) + runner.run(tests) diff --git a/tests/integration/full/full_test_epi.py b/tests/integration/full/full_test_epi.py index 4719867d001058ab607cae3b7a9ae8acf4c6f2c8..d595c6cea546a057f22cfe84ff300ad3bb1ed304 100644 --- a/tests/integration/full/full_test_epi.py +++ b/tests/integration/full/full_test_epi.py @@ -3,6 +3,9 @@ import copy import os import sys import unittest +from unittest import TestSuite, TestLoader + +from HtmlTestRunner import HTMLTestRunner from integration.partial.integration_test_utils import IntegrationTestUtils from integration.test_suites.epi_test_suite import BaseEpiTestSuite @@ -81,18 +84,14 @@ class FullTestEpi(BaseEpiTestSuite.EpiTestSuite): 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() + + _parser = IntegrationTestUtils.build_arg_parser() + + _args = _parser.parse_args() _config_file: str = _args.config _outdir: str = _args.outdir _email_cred_path: str = _args.email_cred + _test_report_dir: str = _args.test_report_dir _run_date_type: str = _args.run_date_type _custom_run_date: str = _args.custom_run_date @@ -110,4 +109,10 @@ if __name__ == '__main__': # Now set the sys.argv to the unittest_args (leaving sys.argv[0] alone) sys.argv[1:] = _args.unittest_args - unittest.main() + tests: TestSuite = TestLoader().loadTestsFromTestCase(FullTestEpi) + + if _test_report_dir is None: + _test_report_dir = BaseEpiTestSuite.EpiTestSuite.TEST_JOB_DIR + + runner = HTMLTestRunner(output=_test_report_dir, combine_reports = True) + runner.run(tests) diff --git a/tests/integration/full/full_test_survey.py b/tests/integration/full/full_test_survey.py index f28a8d5466ba81e7fa3659745a598657e8ae5acc..9aafa784158a1e28d059089e66e61f0fa082cfc0 100644 --- a/tests/integration/full/full_test_survey.py +++ b/tests/integration/full/full_test_survey.py @@ -3,6 +3,9 @@ import copy import os import sys import unittest +from unittest import TestSuite, TestLoader + +from HtmlTestRunner import HTMLTestRunner from integration.partial.integration_test_utils import IntegrationTestUtils from integration.test_suites.survey_test_suite import BaseSurveyTestSuite @@ -49,18 +52,14 @@ class FullTestSurvey(BaseSurveyTestSuite.SurveyTestSuite): 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() + + _parser = IntegrationTestUtils.build_arg_parser() + + _args = _parser.parse_args() _config_file: str = _args.config _outdir: str = _args.outdir _email_cred_path: str = _args.email_cred + _test_report_dir: str = _args.test_report_dir _run_date_type: str = _args.run_date_type _custom_run_date: str = _args.custom_run_date @@ -78,4 +77,10 @@ if __name__ == '__main__': # Now set the sys.argv to the unittest_args (leaving sys.argv[0] alone) sys.argv[1:] = _args.unittest_args - unittest.main() + tests: TestSuite = TestLoader().loadTestsFromTestCase(FullTestSurvey) + + if _test_report_dir is None: + _test_report_dir = BaseSurveyTestSuite.SurveyTestSuite.TEST_JOB_DIR + + runner = HTMLTestRunner(output=_test_report_dir, combine_reports = True) + runner.run(tests) diff --git a/tests/integration/partial/integration_test_utils.py b/tests/integration/partial/integration_test_utils.py index 6c785a536e00e547d2345c4c1bc0caf16eae4a78..339148fe0c28f4fc4587aa4842d740ef53c27ba7 100644 --- a/tests/integration/partial/integration_test_utils.py +++ b/tests/integration/partial/integration_test_utils.py @@ -1,3 +1,4 @@ +import argparse import datetime import glob import json @@ -19,6 +20,18 @@ class IntegrationTestUtils: EXAMPLE_DEPO_FILE_PATH: str = TEST_ASSETS_PATH + "example_depo_run.zip" EXAMPLE_ENV_SUIT_FILE_PATH: str = TEST_ASSETS_PATH + "example_env_suit_run.zip" + @staticmethod + def build_arg_parser() -> argparse.ArgumentParser: + 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('--test_report_dir', required = False) + parser.add_argument('--run_date_type', required = False) + parser.add_argument('--custom_run_date', required = False) + parser.add_argument('unittest_args', nargs='*') + return parser + @staticmethod def load_json_file(file: str) -> dict: with open(file) as config_file: