import logging
import time
+import uuid
import functest.core.testcase as base
from functest.utils.constants import CONST
-from snaps.openstack.create_user import UserSettings, OpenStackUser
-from snaps.openstack.create_project import ProjectSettings, OpenStackProject
+from snaps.config.user import UserConfig
+from snaps.config.project import ProjectConfig
+from snaps.openstack.create_user import OpenStackUser
+from snaps.openstack.create_project import OpenStackProject
from snaps.openstack.tests import openstack_tests
__author__ = ("Morgan Richomme <morgan.richomme@orange.com>, "
"""
Run of the VNF test case:
- * Deploy an orchestrator if needed (e.g. heat, cloudify, ONAP),
+ * Deploy an orchestrator if needed (e.g. heat, cloudify, ONAP,...),
* Deploy the VNF,
* Perform tests on the VNF
A VNF test case is successfull when the 3 steps are PASS
If one of the step is FAIL, the test case is FAIL
- Returns:
- TestCase.EX_OK if result is 'PASS'.
- TestCase.EX_TESTCASE_FAILED otherwise.
+ Returns:
+ TestCase.EX_OK if result is 'PASS'.
+ TestCase.EX_TESTCASE_FAILED otherwise.
"""
self.start_time = time.time()
project_creator = OpenStackProject(
snaps_creds,
- ProjectSettings(
+ ProjectConfig(
name=self.tenant_name,
description=tenant_description
))
user_creator = OpenStackUser(
snaps_creds,
- UserSettings(
+ UserConfig(
name=self.tenant_name,
- password=self.tenant_name,
+ password=str(uuid.uuid4()),
roles={'admin': self.tenant_name}))
user_creator.create()
"""
Deploy an orchestrator (optional).
- If function overwritten
- raise orchestratorDeploymentException if error during orchestrator
- deployment
+ If this method is overriden then raise orchestratorDeploymentException
+ if error during orchestrator deployment
"""
self.__logger.info("Deploy orchestrator (if necessary)")
return True
The details section MAY be updated in the vnf test cases.
The deployment can be executed via a specific orchestrator
- or using nuild-in orchestrators such as:
-
- * heat, openbaton, cloudify (available on all scenario),
- * open-o (on open-o scenarios)
+ or using build-in orchestrators such as heat, OpenBaton, cloudify,
+ juju, onap, ...
Returns:
True if the VNF is properly deployed
* the user,
* the tenant
"""
- self.__logger.info("test cleaning")
- self.__logger.info('Remove the cloudify manager OS object ..')
+ self.__logger.info('Removing the VNF resources ..')
for creator in reversed(self.created_object):
try:
creator.clean()