Better exception handling
[testsuite/pythonsdk-tests.git] / src / onaptests / scenario / clearwater_ims.py
index 83a654e..8a68fa9 100644 (file)
@@ -5,6 +5,8 @@ import time
 
 from xtesting.core import testcase
 from onapsdk.configuration import settings
+
+import onaptests.utils.exceptions as onap_test_exceptions
 from onaptests.steps.instantiate.vf_module_ala_carte import YamlTemplateVfModuleAlaCarteInstantiateStep
 
 class ClearwaterIms(testcase.TestCase):
@@ -29,19 +31,28 @@ class ClearwaterIms(testcase.TestCase):
         """Run vIMS test."""
         self.start_time = time.time()
         self.__logger.debug("start time")
-        self.test.execute()
-        self.__logger.info("VNF clearwater IMS successfully created")
-        self.stop_time = time.time()
-        # The cleanup is part of the test, not only a teardown action
-        if settings.CLEANUP_FLAG:
-            self.__logger.info("VNF clearwater IMS cleanup called")
-            time.sleep(settings.CLEANUP_ACTIVITY_TIMER)
-            self.test.cleanup()
-            self.result = 100
-        else:
-            self.__logger.info("No cleanup requested. Test completed.")
-            self.result = 100
+        try:
+            self.test.execute()
+            self.__logger.info("VNF clearwater IMS successfully created")
+            # The cleanup is part of the test, not only a teardown action
+            if settings.CLEANUP_FLAG:
+                self.__logger.info("VNF clearwater IMS cleanup called")
+                time.sleep(settings.CLEANUP_ACTIVITY_TIMER)
+                self.test.cleanup()
+                self.result = 100
+            else:
+                self.__logger.info("No cleanup requested. Test completed.")
+                self.result = 100
+            self.stop_time = time.time()
+        except onap_test_exceptions.OnapTestException as exc:
+            self.result = 0
+            self.__logger.error(exc.error_message)
+        finally:
+            self.stop_time = time.time()
 
     def clean(self):
         """Clean Additional resources if needed."""
-        pass
+        try:
+            self.test.reports_collection.generate_report()
+        except:
+            self.__logger.error("Impossible to generate reporting")