From 318c2e427e2933fdff2213bf807249c66628b56f Mon Sep 17 00:00:00 2001 From: Cédric Ollivier Date: Thu, 3 Mar 2022 11:19:47 +0100 Subject: Allow overriding project_name via env MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit It now offers a new env var, PROJECT_NAME, to override the default value in testcases.yaml. Change-Id: I911f1af56afe88edb37de40176733b65bc8e490a Signed-off-by: Cédric Ollivier --- xtesting/core/testcase.py | 3 ++- xtesting/tests/unit/core/test_testcase.py | 18 ++++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/xtesting/core/testcase.py b/xtesting/core/testcase.py index 179a5684..b44ed793 100644 --- a/xtesting/core/testcase.py +++ b/xtesting/core/testcase.py @@ -60,7 +60,8 @@ class TestCase(metaclass=abc.ABCMeta): def __init__(self, **kwargs): self.details = {} - self.project_name = kwargs.get('project_name', 'xtesting') + self.project_name = os.environ.get( + 'PROJECT_NAME', kwargs.get('project_name', 'xtesting')) self.case_name = kwargs.get('case_name', '') self.criteria = kwargs.get('criteria', 100) self.result = 0 diff --git a/xtesting/tests/unit/core/test_testcase.py b/xtesting/tests/unit/core/test_testcase.py index 990883c6..dbefd974 100644 --- a/xtesting/tests/unit/core/test_testcase.py +++ b/xtesting/tests/unit/core/test_testcase.py @@ -42,6 +42,24 @@ class AbstractTestCaseTesting(unittest.TestCase): testcase.TestCase(case_name="base", project_name="xtesting") +class ProjectNameTesting(unittest.TestCase): + + _case_name = "base" + _project_name = "xtesting" + + def test_project_name_yaml(self): + test = FakeTestCase( + case_name=self._case_name, project_name=self._project_name) + self.assertEqual(self._project_name, test.project_name) + + def test_project_name_env(self): + os.environ['PROJECT_NAME'] = 'whatever' + test = FakeTestCase( + case_name=self._case_name, project_name=self._project_name) + self.assertEqual('whatever', test.project_name) + del os.environ['PROJECT_NAME'] + + class TestCaseTesting(unittest.TestCase): # pylint: disable=too-many-instance-attributes,too-many-public-methods -- cgit 1.2.3-korg