Switch TestCase attribute criteria to result
[functest.git] / functest / tests / unit / utils / test_functest_utils.py
index 8bfdb5e..7ab8b45 100644 (file)
@@ -33,6 +33,7 @@ class FunctestUtilsTesting(unittest.TestCase):
         self.installer = 'test_installer'
         self.scenario = 'test_scenario'
         self.build_tag = 'jenkins-functest-fuel-opnfv-jump-2-daily-master-190'
+        self.build_tag_week = 'jenkins-functest-fuel-baremetal-weekly-master-8'
         self.version = 'master'
         self.node_name = 'test_node_name'
         self.project = 'test_project'
@@ -42,6 +43,7 @@ class FunctestUtilsTesting(unittest.TestCase):
         self.db_url = 'test_db_url'
         self.success_rate = 2.0
         self.criteria = 'test_criteria==2.0'
+        self.result = 'PASS'
         self.start_date = 1482624000
         self.stop_date = 1482624000
         self.start_time = time.time()
@@ -53,7 +55,8 @@ class FunctestUtilsTesting(unittest.TestCase):
         self.cmd = 'test_cmd'
         self.output_file = 'test_output_file'
         self.testname = 'testname'
-        self.testcase_dict = {'name': 'testname', 'criteria': self.criteria}
+        self.testcase_dict = {'case_name': 'testname',
+                              'criteria': self.criteria}
         self.parameter = 'general.openstack.image_name'
         self.config_yaml = 'test_config_yaml-'
         self.db_url_env = 'http://foo/testdb'
@@ -152,10 +155,20 @@ class FunctestUtilsTesting(unittest.TestCase):
                              self.scenario)
 
     @mock.patch('functest.utils.functest_utils.get_build_tag')
-    def test_get_version_default(self, mock_get_build_tag):
+    def test_get_version_daily_job(self, mock_get_build_tag):
         mock_get_build_tag.return_value = 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
+        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'
+        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"
@@ -267,7 +280,7 @@ class FunctestUtilsTesting(unittest.TestCase):
                 as mock_logger_error:
             functest_utils.push_results_to_db(self.project, self.case_name,
                                               self.start_date, self.stop_date,
-                                              self.criteria, self.details)
+                                              self.result, self.details)
             mock_logger_error.assert_called_once_with("Please set env var: " +
                                                       str("\'" + env_var +
                                                           "\'"))
@@ -284,25 +297,6 @@ class FunctestUtilsTesting(unittest.TestCase):
     def test_push_results_to_db_missing_buildtag(self):
         self._test_push_results_to_db_missing_env('BUILD_TAG')
 
-    def test_push_results_to_db_incorrect_buildtag(self):
-        dic = self._get_env_dict(None)
-        dic['BUILD_TAG'] = 'incorrect_build_tag'
-        with mock.patch('functest.utils.functest_utils.get_db_url',
-                        return_value=self.db_url), \
-                mock.patch.dict(os.environ,
-                                dic,
-                                clear=True), \
-                mock.patch('functest.utils.functest_utils.logger.error') \
-                as mock_logger_error:
-            self.assertFalse(functest_utils.
-                             push_results_to_db(self.project, self.case_name,
-                                                self.start_date,
-                                                self.stop_date,
-                                                self.criteria, self.details))
-            mock_logger_error.assert_called_once_with("Please fix BUILD_TAG"
-                                                      " env var: incorrect_"
-                                                      "build_tag")
-
     def test_push_results_to_db_request_post_failed(self):
         dic = self._get_env_dict(None)
         with mock.patch('functest.utils.functest_utils.get_db_url',
@@ -318,7 +312,7 @@ class FunctestUtilsTesting(unittest.TestCase):
                              push_results_to_db(self.project, self.case_name,
                                                 self.start_date,
                                                 self.stop_date,
-                                                self.criteria, self.details))
+                                                self.result, self.details))
             mock_logger_error.assert_called_once_with(test_utils.
                                                       RegexMatch("Pushing "
                                                                  "Result to"
@@ -341,7 +335,7 @@ class FunctestUtilsTesting(unittest.TestCase):
                              push_results_to_db(self.project, self.case_name,
                                                 self.start_date,
                                                 self.stop_date,
-                                                self.criteria, self.details))
+                                                self.result, self.details))
             self.assertTrue(mock_logger_error.called)
 
     def test_push_results_to_db_default(self):
@@ -356,7 +350,7 @@ class FunctestUtilsTesting(unittest.TestCase):
                             push_results_to_db(self.project, self.case_name,
                                                self.start_date,
                                                self.stop_date,
-                                               self.criteria, self.details))
+                                               self.result, self.details))
     readline = 0
     test_ip = ['10.1.23.4', '10.1.14.15', '10.1.16.15']