summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMorgan Richomme <morgan.richomme@orange.com>2017-03-10 16:14:29 +0100
committerMorgan Richomme <morgan.richomme@orange.com>2017-03-20 10:03:12 +0000
commitf46ead2782b9c32083a22c093385843426546813 (patch)
tree0b04eefa53da907ab74ff472c80b552c42bb1682
parent05ea9bf4ae2cdd0af0f97eca90a7c443f35d1a2a (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> (cherry picked from commit 6ac6937237bc03b27935f71bbb33c0abffc1e993)
-rw-r--r--functest/core/vnf_base.py14
-rw-r--r--functest/tests/unit/core/test_vnf_base.py21
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)