Allow overriding project_name via env 40/73240/1
authorCédric Ollivier <cedric.ollivier@orange.com>
Thu, 3 Mar 2022 10:19:47 +0000 (11:19 +0100)
committerCédric Ollivier <cedric.ollivier@orange.com>
Thu, 3 Mar 2022 11:25:53 +0000 (12:25 +0100)
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 <cedric.ollivier@orange.com>
(cherry picked from commit 318c2e427e2933fdff2213bf807249c66628b56f)

xtesting/core/testcase.py
xtesting/tests/unit/core/test_testcase.py

index bccf76d..744a59f 100644 (file)
@@ -62,7 +62,8 @@ class TestCase():
 
     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
index 63bfc3f..c1f3bab 100644 (file)
@@ -41,6 +41,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