diff options
author | Morgan Richomme <morgan.richomme@orange.com> | 2017-03-10 16:14:29 +0100 |
---|---|---|
committer | Morgan Richomme <morgan.richomme@orange.com> | 2017-03-10 17:03:11 +0100 |
commit | 6ac6937237bc03b27935f71bbb33c0abffc1e993 (patch) | |
tree | af8e6e88da1d8bf16ce1d6ffac5ba2c85fb86e9b | |
parent | 6587f877a3c6e2954d9e32a0652c6f0d1d356ab7 (diff) |
Remove raise exceptions
until exceptions are better managed in abstraction
Currently it triggers an exit from the jenkins job
and prevent other tests to be run
Change-Id: Id3b18c1d6d3b786fc78456b3ad51963d2cbb2cc1
Signed-off-by: Morgan Richomme <morgan.richomme@orange.com>
-rw-r--r-- | functest/core/vnf_base.py | 14 | ||||
-rw-r--r-- | functest/tests/unit/core/test_vnf_base.py | 21 |
2 files changed, 21 insertions, 14 deletions
diff --git a/functest/core/vnf_base.py b/functest/core/vnf_base.py index daf8b8061..0300dd226 100644 --- a/functest/core/vnf_base.py +++ b/functest/core/vnf_base.py @@ -40,7 +40,8 @@ class VnfOnBoardingBase(base.TestcaseBase): self.tenant_description = CONST.__getattribute__( 'vnf_{}_tenant_description'.format(self.case_name)) except: - raise Exception("Unknown VNF case=" + self.case_name) + # raise Exception("Unknown VNF case=" + self.case_name) + self.logger.error("Unknown VNF case={}".format(self.case_name)) try: self.images = CONST.__getattribute__( @@ -81,7 +82,7 @@ class VnfOnBoardingBase(base.TestcaseBase): vnf_ready_time - orchestrator_ready_time, 1) except Exception: self.logger.error("Error during VNF deployment", exc_info=True) - raise Exception("Error during VNF deployment") + return base.TestcaseBase.EX_TESTCASE_FAILED # Test VNF try: @@ -94,7 +95,7 @@ class VnfOnBoardingBase(base.TestcaseBase): test_vnf_done_time - vnf_ready_time, 1) except Exception: self.logger.error("Error when running VNF tests", exc_info=True) - raise Exception("Error when running VNF tests") + return base.TestcaseBase.EX_TESTCASE_FAILED # Clean the system self.clean() @@ -178,11 +179,11 @@ class VnfOnBoardingBase(base.TestcaseBase): # TODO see how to use built-in exception from releng module def deploy_vnf(self): self.logger.error("VNF must be deployed") - raise Exception("VNF not deployed") + return base.TestcaseBase.EX_TESTCASE_FAILED def test_vnf(self): self.logger.error("VNF must be tested") - raise Exception("VNF not tested") + return base.TestcaseBase.EX_TESTCASE_FAILED def clean(self): self.logger.info("test cleaning") @@ -230,4 +231,5 @@ class VnfOnBoardingBase(base.TestcaseBase): part = inspect.stack()[1][3] self.details[part]['status'] = 'FAIL' self.details[part]['result'] = error_msg - raise Exception(error_msg) + self.logger.error("Step failure:{}".format(error_msg)) + return base.TestcaseBase.EX_TESTCASE_FAILED diff --git a/functest/tests/unit/core/test_vnf_base.py b/functest/tests/unit/core/test_vnf_base.py index e27f2164b..25a74b7c9 100644 --- a/functest/tests/unit/core/test_vnf_base.py +++ b/functest/tests/unit/core/test_vnf_base.py @@ -8,9 +8,11 @@ # http://www.apache.org/licenses/LICENSE-2.0 import logging +import mock import unittest from functest.core import vnf_base +from functest.core import testcase_base class VnfBaseTesting(unittest.TestCase): @@ -35,18 +37,21 @@ class VnfBaseTesting(unittest.TestCase): "result": "", "duration": 5}} - def test_deploy_vnf_unimplemented(self): - with self.assertRaises(Exception) as context: - self.test.deploy_vnf() - self.assertTrue('VNF not deployed' in context.exception) + @mock.patch('logging.Logger.error') + def test_deploy_vnf_unimplemented(self, mock): + self.assertEqual(self.test.deploy_vnf(), + testcase_base.TestcaseBase.EX_TESTCASE_FAILED) + mock.assert_called_with('VNF must be deployed') - def test_test_vnf_unimplemented(self): - with self.assertRaises(Exception) as context: - self.test.test_vnf()() - self.assertTrue('VNF not tested' in context.exception) + @mock.patch('logging.Logger.error') + def test_test_vnf_unimplemented(self, mock): + self.assertEqual(self.test.test_vnf(), + testcase_base.TestcaseBase.EX_TESTCASE_FAILED) + mock.assert_called_with('VNF must be tested') def test_parse_results(self): self.assertNotEqual(self.test.parse_results(), 0) + if __name__ == "__main__": unittest.main(verbosity=2) |