Obtain build_tag by CONST instead of get function
authorLinda Wang <wangwulin@huawei.com>
Tue, 15 Aug 2017 06:49:51 +0000 (06:49 +0000)
committerLinda Wang <wangwulin@huawei.com>
Tue, 15 Aug 2017 07:54:19 +0000 (07:54 +0000)
JIRA: FUNCTEST-763

Change-Id: I86b0b515a3d51df20a35c2aeb461a95d0c5797fd
Signed-off-by: Linda Wang <wangwulin@huawei.com>
functest/tests/unit/utils/test_functest_utils.py
functest/utils/functest_utils.py

index 98c7d6e..b4cc5b7 100644 (file)
@@ -133,24 +133,20 @@ class FunctestUtilsTesting(unittest.TestCase):
             self.assertEqual(functest_utils.get_scenario(),
                              self.scenario)
 
-    @mock.patch('functest.utils.functest_utils.get_build_tag')
-    def test_get_version_daily_job(self, mock_get_build_tag):
-        mock_get_build_tag.return_value = self.build_tag
+    def test_get_version_daily_job(self):
+        CONST.__setattr__('BUILD_TAG', self.build_tag)
         self.assertEqual(functest_utils.get_version(), self.version)
 
-    @mock.patch('functest.utils.functest_utils.get_build_tag')
-    def test_get_version_weekly_job(self, mock_get_build_tag):
-        mock_get_build_tag.return_value = self.build_tag_week
+    def test_get_version_weekly_job(self):
+        CONST.__setattr__('BUILD_TAG', self.build_tag_week)
         self.assertEqual(functest_utils.get_version(), self.version)
 
-    @mock.patch('functest.utils.functest_utils.get_build_tag')
-    def test_get_version_with_dummy_build_tag(self, mock_get_build_tag):
-        mock_get_build_tag.return_value = 'whatever'
+    def test_get_version_with_dummy_build_tag(self):
+        CONST.__setattr__('BUILD_TAG', 'whatever')
         self.assertEqual(functest_utils.get_version(), 'unknown')
 
-    @mock.patch('functest.utils.functest_utils.get_build_tag')
-    def test_get_version_unknown(self, mock_get_build_tag):
-        mock_get_build_tag.return_value = "unknown_build_tag"
+    def test_get_version_unknown(self):
+        CONST.__setattr__('BUILD_TAG', 'unknown_build_tag')
         self.assertEqual(functest_utils.get_version(), "unknown")
 
     @mock.patch('functest.utils.functest_utils.logger.info')
@@ -172,34 +168,16 @@ class FunctestUtilsTesting(unittest.TestCase):
             self.assertEqual(functest_utils.get_pod_name(),
                              self.node_name)
 
-    @mock.patch('functest.utils.functest_utils.logger.info')
-    def test_get_build_tag_failed(self, mock_logger_info):
-        with mock.patch.dict(os.environ,
-                             {},
-                             clear=True):
-            self.assertEqual(functest_utils.get_build_tag(),
-                             "none")
-            mock_logger_info.assert_called_once_with("Impossible to retrieve"
-                                                     " the build tag")
-
-    def test_get_build_tag_default(self):
-        with mock.patch.dict(os.environ,
-                             {'BUILD_TAG': self.build_tag},
-                             clear=True):
-            self.assertEqual(functest_utils.get_build_tag(),
-                             self.build_tag)
-
     @mock.patch('functest.utils.functest_utils.logger.info')
     def test_logger_test_results(self, mock_logger_info):
         CONST.__setattr__('results_test_db_url', self.db_url)
+        CONST.__setattr__('BUILD_TAG', self.build_tag)
         with mock.patch('functest.utils.functest_utils.get_pod_name',
                         return_value=self.node_name), \
                 mock.patch('functest.utils.functest_utils.get_scenario',
                            return_value=self.scenario), \
                 mock.patch('functest.utils.functest_utils.get_version',
-                           return_value=self.version), \
-                mock.patch('functest.utils.functest_utils.get_build_tag',
-                           return_value=self.build_tag):
+                           return_value=self.version):
             functest_utils.logger_test_results(self.project, self.case_name,
                                                self.status, self.details)
             mock_logger_info.assert_called_once_with(
index 91781bd..bf68e43 100644 (file)
@@ -107,7 +107,9 @@ def get_version():
     # jenkins-functest-fuel-baremetal-weekly-master-8
     # use regex to match branch info
     rule = "(dai|week)ly-(.+?)-[0-9]*"
-    build_tag = get_build_tag()
+    build_tag = CONST.__getattribute__('BUILD_TAG')
+    if not build_tag:
+        build_tag = 'none'
     m = re.search(rule, build_tag)
     if m:
         return m.group(2)
@@ -128,19 +130,6 @@ def get_pod_name():
         return "unknown-pod"
 
 
-def get_build_tag():
-    """
-    Get build tag of jenkins jobs
-    """
-    try:
-        build_tag = os.environ['BUILD_TAG']
-    except KeyError:
-        logger.info("Impossible to retrieve the build tag")
-        build_tag = "none"
-
-    return build_tag
-
-
 def logger_test_results(project, case_name, status, details):
     """
     Format test case results for the logger
@@ -148,7 +137,7 @@ def logger_test_results(project, case_name, status, details):
     pod_name = get_pod_name()
     scenario = get_scenario()
     version = get_version()
-    build_tag = get_build_tag()
+    build_tag = CONST.__getattribute__('BUILD_TAG')
     db_url = CONST.__getattribute__("results_test_db_url")
 
     logger.info(