--- /dev/null
+#!/usr/bin/env python
+"""Basic CNF test case."""
+import logging
+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 BasicCnf(testcase.TestCase):
+ """Onboard then instantiate a simple CNF with ONAP."""
+
+ __logger = logging.getLogger(__name__)
+
+ def __init__(self, **kwargs):
+ """Init BasicCnf."""
+ if "case_name" not in kwargs:
+ kwargs["case_name"] = 'basic_cnf'
+ super(BasicCnf, self).__init__(**kwargs)
+ self.__logger.debug("BasicCnf init started")
+ self.test = YamlTemplateVfModuleAlaCarteInstantiateStep(
+ cleanup=settings.CLEANUP_FLAG)
+ self.start_time = None
+ self.stop_time = None
+ self.result = 0
+
+ def run(self):
+ """Run onap_tests with basic_cnf VM."""
+ self.start_time = time.time()
+ self.__logger.debug("start time")
+ try:
+ self.test.execute()
+ self.__logger.info("basic_cnf successfully created")
+ # The cleanup is part of the test, not only a teardown action
+ if settings.CLEANUP_FLAG:
+ self.__logger.info("basic_cnf 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
+ except onap_test_exceptions.TestConfigurationException:
+ self.result = 0
+ self.__logger.error("Basic CNF configuration error")
+ except onap_test_exceptions.ServiceInstantiateException:
+ self.result = 0
+ self.__logger.error("Basic CNF service instantiation error")
+ except onap_test_exceptions.ServiceCleanupException:
+ self.result = 0
+ self.__logger.error("Basic CNF service instance cleanup error")
+ except onap_test_exceptions.VnfInstantiateException:
+ self.result = 0
+ self.__logger.error("Basic CNF Vnf instantiation error")
+ except onap_test_exceptions.VnfCleanupException:
+ self.result = 0
+ self.__logger.error("Basic CNF Vnf instance cleanup error")
+ except onap_test_exceptions.ProfileInformationException:
+ self.__logger.error("Missing k8s profile information")
+ self.result = 0
+ except onap_test_exceptions.ProfileCleanupException:
+ self.__logger.error("K8s profile deletion failed")
+ self.result = 0
+ except onap_test_exceptions.VfModuleInstantiateException:
+ self.result = 0
+ self.__logger.error("Basic CNF Module instantiation error")
+ except onap_test_exceptions.VfModuleCleanupException:
+ self.__logger.error("Basic CNF Module cleanup failed.")
+ self.result = 0
+ finally:
+ self.stop_time = time.time()
+
+ def clean(self):
+ """Clean Additional resources if needed."""
+ self.__logger.info("Generate Test report")
+ self.test.reports_collection.generate_report()