From 150c301d0e178ba65763731cb2b418744f39421d Mon Sep 17 00:00:00 2001 From: lb584 <lb584@cam.ac.uk> Date: Fri, 12 May 2023 11:20:10 +0100 Subject: [PATCH] adding a check for loading resource files before all partial integration tests begin. Allows the user to spot if they have not set their working dir correctly --- .../integration/partial/integration_test_utils.py | 14 ++++++++++++-- tests/integration/partial/run_test_suite.py | 5 +---- tests/integration/partial/test_advisory.py | 1 + tests/integration/partial/test_deposition.py | 1 + tests/integration/partial/test_env_suit.py | 2 ++ tests/integration/partial/test_epi.py | 1 + tests/integration/partial/test_survey.py | 1 + 7 files changed, 19 insertions(+), 6 deletions(-) diff --git a/tests/integration/partial/integration_test_utils.py b/tests/integration/partial/integration_test_utils.py index 6faef10..78fdddc 100644 --- a/tests/integration/partial/integration_test_utils.py +++ b/tests/integration/partial/integration_test_utils.py @@ -3,8 +3,6 @@ import datetime import glob import json import os -import sys -import unittest from importlib import reload from typing import List from unittest import TestSuite, TestLoader, TestCase, TestResult @@ -29,6 +27,18 @@ class IntegrationTestUtils: TEST_START_DATE: str = None TEST_JOB_DIR: str = None + @staticmethod + def check_resources_exist(): + """ + do a single check for the email cred file, which will raise an error suggesting that the user may not have set + their pythonpath correctly + """ + emailcred_exists = os.path.exists(IntegrationTestUtils.EMAIL_CRED_PATH) + if not emailcred_exists: + raise FileNotFoundError(f"email cred file {IntegrationTestUtils.EMAIL_CRED_PATH} not found - have you set " + f"the working directory to the same directory as the tests you are running?" + f" (tests use a path relative to the test directory)") + @staticmethod def build_arg_parser() -> argparse.ArgumentParser: parser = argparse.ArgumentParser() diff --git a/tests/integration/partial/run_test_suite.py b/tests/integration/partial/run_test_suite.py index cded5c8..4ba4814 100644 --- a/tests/integration/partial/run_test_suite.py +++ b/tests/integration/partial/run_test_suite.py @@ -1,15 +1,12 @@ import sys -import unittest from unittest import TestLoader, TestSuite, TestResult -import HtmlTestRunner from HtmlTestRunner import HTMLTestRunner -from HtmlTestRunner.result import HtmlTestResult +from integration.partial.test_advisory import TestAdvisory from integration.partial.test_deposition import TestDeposition from integration.partial.test_env_suit import TestEnvSuit from integration.partial.test_survey import TestSurvey -from integration.partial.test_advisory import TestAdvisory def build_test_runner() -> TestSuite: diff --git a/tests/integration/partial/test_advisory.py b/tests/integration/partial/test_advisory.py index 9cc1dce..6864334 100644 --- a/tests/integration/partial/test_advisory.py +++ b/tests/integration/partial/test_advisory.py @@ -26,6 +26,7 @@ class TestAdvisory(BaseAdvisoryTestSuite.AdvisoryTestSuite): def setUp(self) -> None: + IntegrationTestUtils.check_resources_exist() self.set_expected_values() if IntegrationTestUtils.TEST_OUT_PATH is None or not os.path.isdir(IntegrationTestUtils.TEST_OUT_PATH): diff --git a/tests/integration/partial/test_deposition.py b/tests/integration/partial/test_deposition.py index 92a6e1f..9655d41 100644 --- a/tests/integration/partial/test_deposition.py +++ b/tests/integration/partial/test_deposition.py @@ -28,6 +28,7 @@ class TestDeposition(BaseDepoTestSuite.DepoTestSuite): def setUp(self) -> None: + IntegrationTestUtils.check_resources_exist() self.set_expected_values() if IntegrationTestUtils.TEST_OUT_PATH is None or not os.path.isdir(IntegrationTestUtils.TEST_OUT_PATH): diff --git a/tests/integration/partial/test_env_suit.py b/tests/integration/partial/test_env_suit.py index 8c33a3d..c45b7f1 100644 --- a/tests/integration/partial/test_env_suit.py +++ b/tests/integration/partial/test_env_suit.py @@ -26,6 +26,8 @@ class TestEnvSuit(BaseEnvSuitTestSuite.EnvSuitTestSuite): self.ETH_PNG_COUNT = 6 def setUp(self) -> None: + + IntegrationTestUtils.check_resources_exist() 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 197ce6e..f1e1d74 100644 --- a/tests/integration/partial/test_epi.py +++ b/tests/integration/partial/test_epi.py @@ -24,6 +24,7 @@ class TestEpi(BaseEpiTestSuite.EpiTestSuite): def setUp(self) -> None: + IntegrationTestUtils.check_resources_exist() self.set_expected_values() if IntegrationTestUtils.TEST_OUT_PATH is None or not os.path.isdir(IntegrationTestUtils.TEST_OUT_PATH): diff --git a/tests/integration/partial/test_survey.py b/tests/integration/partial/test_survey.py index 59d63d5..2581702 100644 --- a/tests/integration/partial/test_survey.py +++ b/tests/integration/partial/test_survey.py @@ -23,6 +23,7 @@ class TestSurvey(BaseSurveyTestSuite.SurveyTestSuite): def setUp(self) -> None: + IntegrationTestUtils.check_resources_exist() self.set_expected_values() if IntegrationTestUtils.TEST_OUT_PATH is None or not os.path.isdir( -- GitLab