aboutsummaryrefslogtreecommitdiffstats
path: root/functest
diff options
context:
space:
mode:
authorMorgan Richomme <morgan.richomme@orange.com>2017-09-04 14:29:05 +0000
committerGerrit Code Review <gerrit@opnfv.org>2017-09-04 14:29:05 +0000
commitac2de4356604f81cff9c303f0af36601e8a330ea (patch)
treefee6958bae0aad369f837b12206b0cfddd2882b6 /functest
parent506ef8bdcb772637be4dc01c5afc0e583f7ae3d3 (diff)
parent578f831fe90f08028c6e88e103175b9bb698b6c5 (diff)
Merge "More support of snaps for VNF"
Diffstat (limited to 'functest')
-rw-r--r--functest/core/vnf.py58
-rw-r--r--functest/opnfv_tests/vnf/ims/cloudify_ims.py27
-rw-r--r--functest/opnfv_tests/vnf/ims/cloudify_ims.yaml7
-rw-r--r--functest/opnfv_tests/vnf/ims/orchestra_clearwaterims.py15
-rw-r--r--functest/opnfv_tests/vnf/ims/orchestra_openims.py17
-rw-r--r--functest/tests/unit/core/test_vnf.py129
-rw-r--r--functest/tests/unit/vnf/ims/test_cloudify_ims.py106
-rw-r--r--functest/tests/unit/vnf/ims/test_orchestra_clearwaterims.py107
-rw-r--r--functest/tests/unit/vnf/ims/test_orchestra_openims.py107
9 files changed, 119 insertions, 454 deletions
diff --git a/functest/core/vnf.py b/functest/core/vnf.py
index a329212d8..bbdd80a00 100644
--- a/functest/core/vnf.py
+++ b/functest/core/vnf.py
@@ -14,7 +14,9 @@ import time
import functest.core.testcase as base
from functest.utils.constants import CONST
-import functest.utils.openstack_utils as os_utils
+from snaps.openstack.create_user import UserSettings, OpenStackUser
+from snaps.openstack.create_project import ProjectSettings, OpenStackProject
+from snaps.openstack.tests import openstack_tests
__author__ = ("Morgan Richomme <morgan.richomme@orange.com>, "
"Valentin Boucher <valentin.boucher@orange.com>")
@@ -43,10 +45,11 @@ class VnfOnBoarding(base.TestCase):
def __init__(self, **kwargs):
super(VnfOnBoarding, self).__init__(**kwargs)
- self.exist_obj = {'tenant': False, 'user': False}
self.tenant_name = CONST.__getattribute__(
'vnf_{}_tenant_name'.format(self.case_name))
- self.creds = {}
+ self.snaps_creds = {}
+ self.created_object = []
+ self.os_project = None
def run(self, **kwargs):
"""
@@ -100,20 +103,30 @@ class VnfOnBoarding(base.TestCase):
'vnf_{}_tenant_description'.format(self.case_name))
self.__logger.info("Prepare VNF: %s, description: %s",
self.tenant_name, tenant_description)
- keystone_client = os_utils.get_keystone_client()
- self.exist_obj['tenant'] = (
- not os_utils.get_or_create_tenant_for_vnf(
- keystone_client,
- self.tenant_name,
- tenant_description))
- self.exist_obj['user'] = not os_utils.get_or_create_user_for_vnf(
- keystone_client, self.tenant_name)
- self.creds = {
- "tenant": self.tenant_name,
- "username": self.tenant_name,
- "password": self.tenant_name,
- "auth_url": os_utils.get_credentials()['auth_url']
- }
+ snaps_creds = openstack_tests.get_credentials(
+ os_env_file=CONST.__getattribute__('openstack_creds'))
+
+ project_creator = OpenStackProject(
+ snaps_creds,
+ ProjectSettings(
+ name=self.tenant_name,
+ description=tenant_description
+ ))
+ project_creator.create()
+ self.created_object.append(project_creator)
+ self.os_project = project_creator
+
+ user_creator = OpenStackUser(snaps_creds,
+ UserSettings(
+ name=self.tenant_name,
+ password=self.tenant_name))
+ user_creator.create()
+ self.created_object.append(user_creator)
+
+ project_creator.assoc_user(user_creator.user_settings)
+
+ self.snaps_creds = user_creator.get_os_creds(self.tenant_name)
+
return base.TestCase.EX_OK
except Exception: # pylint: disable=broad-except
self.__logger.exception("Exception raised during VNF preparation")
@@ -185,8 +198,9 @@ class VnfOnBoarding(base.TestCase):
* the tenant
"""
self.__logger.info("test cleaning")
- keystone_client = os_utils.get_keystone_client()
- if not self.exist_obj['tenant']:
- os_utils.delete_tenant(keystone_client, self.tenant_name)
- if not self.exist_obj['user']:
- os_utils.delete_user(keystone_client, self.tenant_name)
+ self.__logger.info('Remove the cloudify manager OS object ..')
+ for creator in reversed(self.created_object):
+ try:
+ creator.clean()
+ except Exception as exc: # pylint: disable=broad-except
+ self.__logger.error('Unexpected error cleaning - %s', exc)
diff --git a/functest/opnfv_tests/vnf/ims/cloudify_ims.py b/functest/opnfv_tests/vnf/ims/cloudify_ims.py
index 8ed7f0dda..b98cbe9ae 100644
--- a/functest/opnfv_tests/vnf/ims/cloudify_ims.py
+++ b/functest/opnfv_tests/vnf/ims/cloudify_ims.py
@@ -24,7 +24,6 @@ import functest.opnfv_tests.vnf.ims.clearwater_ims_base as clearwater_ims_base
from functest.utils.constants import CONST
import functest.utils.openstack_utils as os_utils
-from snaps.openstack.os_credentials import OSCreds
from snaps.openstack.create_network import (NetworkSettings, SubnetSettings,
OpenStackNetwork)
from snaps.openstack.create_security_group import (SecurityGroupSettings,
@@ -63,7 +62,6 @@ class CloudifyIms(clearwater_ims_base.ClearwaterOnBoardingBase):
raise Exception("VNF config file not found")
self.snaps_creds = ''
- self.created_object = []
config_file = os.path.join(self.case_dir, self.config)
self.orchestrator = dict(
@@ -101,12 +99,19 @@ class CloudifyIms(clearwater_ims_base.ClearwaterOnBoardingBase):
self.__logger.info("Additional pre-configuration steps")
- self.snaps_creds = OSCreds(
- username=self.creds['username'],
- password=self.creds['password'],
- auth_url=self.creds['auth_url'],
- project_name=self.creds['tenant'],
- identity_api_version=int(os_utils.get_keystone_client_version()))
+ compute_quotas = self.os_project.get_compute_quotas()
+ network_quotas = self.os_project.get_network_quotas()
+
+ for key, value in (
+ self.orchestrator['requirements']['compute_quotas'].items()):
+ setattr(compute_quotas, key, value)
+
+ for key, value in (
+ self.orchestrator['requirements']['network_quotas'].items()):
+ setattr(network_quotas, key, value)
+
+ compute_quotas = self.project_ims.update_compute_quotas(compute_quotas)
+ network_quotas = self.project_ims.update_network_quotas(network_quotas)
# needs some images
self.__logger.info("Upload some OS images if it doesn't exist")
@@ -402,12 +407,6 @@ class CloudifyIms(clearwater_ims_base.ClearwaterOnBoardingBase):
self.__logger.warn("Some issue during the undeployment ..")
self.__logger.warn("Tenant clean continue ..")
- self.__logger.info('Remove the cloudify manager OS object ..')
- for creator in reversed(self.created_object):
- try:
- creator.clean()
- except Exception as exc:
- self.logger.error('Unexpected error cleaning - %s', exc)
super(CloudifyIms, self).clean()
@energy.enable_recording
diff --git a/functest/opnfv_tests/vnf/ims/cloudify_ims.yaml b/functest/opnfv_tests/vnf/ims/cloudify_ims.yaml
index 280e0a6b8..ad7fa70a9 100644
--- a/functest/opnfv_tests/vnf/ims/cloudify_ims.yaml
+++ b/functest/opnfv_tests/vnf/ims/cloudify_ims.yaml
@@ -21,6 +21,13 @@ vnf:
flavor:
name: m1.small
ram_min: 2048
+ compute_quotas:
+ cores: 50
+ instances: 15
+ network_quotas:
+ security_group: 20
+ security_group_rule: 100
+ port: 50
inputs:
image_id: 'ubuntu_14.04'
flavor_id: 'm1.small'
diff --git a/functest/opnfv_tests/vnf/ims/orchestra_clearwaterims.py b/functest/opnfv_tests/vnf/ims/orchestra_clearwaterims.py
index 216632eea..c924a3470 100644
--- a/functest/opnfv_tests/vnf/ims/orchestra_clearwaterims.py
+++ b/functest/opnfv_tests/vnf/ims/orchestra_clearwaterims.py
@@ -31,7 +31,6 @@ from snaps.openstack.create_network import (
SubnetSettings,
PortSettings)
from snaps.openstack.create_router import OpenStackRouter, RouterSettings
-from snaps.openstack.os_credentials import OSCreds
from snaps.openstack.create_instance import (
VmInstanceSettings,
OpenStackVmInstance)
@@ -208,15 +207,13 @@ class ClearwaterImsVnf(vnf.VnfOnBoarding):
super(ClearwaterImsVnf, self).prepare()
self.logger.info("Additional pre-configuration steps")
- self.logger.info("creds %s", (self.creds))
-
- self.snaps_creds = OSCreds(
- username=self.creds['username'],
- password=self.creds['password'],
- auth_url=self.creds['auth_url'],
- project_name=self.creds['tenant'],
- identity_api_version=int(os_utils.get_keystone_client_version()))
+ self.creds = {
+ "tenant": self.tenant_name,
+ "username": self.tenant_name,
+ "password": self.tenant_name,
+ "auth_url": os_utils.get_credentials()['auth_url']
+ }
self.prepare_images()
self.prepare_flavor()
self.prepare_security_groups()
diff --git a/functest/opnfv_tests/vnf/ims/orchestra_openims.py b/functest/opnfv_tests/vnf/ims/orchestra_openims.py
index 6c9628f7f..aae35146f 100644
--- a/functest/opnfv_tests/vnf/ims/orchestra_openims.py
+++ b/functest/opnfv_tests/vnf/ims/orchestra_openims.py
@@ -32,7 +32,6 @@ from snaps.openstack.create_network import (
SubnetSettings,
PortSettings)
from snaps.openstack.create_router import OpenStackRouter, RouterSettings
-from snaps.openstack.os_credentials import OSCreds
from snaps.openstack.create_instance import (
VmInstanceSettings, OpenStackVmInstance)
from functest.opnfv_tests.openstack.snaps import snaps_utils
@@ -198,22 +197,18 @@ class OpenImsVnf(vnf.VnfOnBoarding):
self.images = get_config("tenant_images.orchestrator", config_file)
self.images.update(get_config("tenant_images.%s" %
self.case_name, config_file))
- self.snaps_creds = None
def prepare(self):
"""Prepare testscase (Additional pre-configuration steps)."""
super(OpenImsVnf, self).prepare()
self.logger.info("Additional pre-configuration steps")
- self.logger.info("creds %s", (self.creds))
-
- self.snaps_creds = OSCreds(
- username=self.creds['username'],
- password=self.creds['password'],
- auth_url=self.creds['auth_url'],
- project_name=self.creds['tenant'],
- identity_api_version=int(os_utils.get_keystone_client_version()))
-
+ self.creds = {
+ "tenant": self.tenant_name,
+ "username": self.tenant_name,
+ "password": self.tenant_name,
+ "auth_url": os_utils.get_credentials()['auth_url']
+ }
self.prepare_images()
self.prepare_flavor()
self.prepare_security_groups()
diff --git a/functest/tests/unit/core/test_vnf.py b/functest/tests/unit/core/test_vnf.py
index 2ebbbe379..00a29ead1 100644
--- a/functest/tests/unit/core/test_vnf.py
+++ b/functest/tests/unit/core/test_vnf.py
@@ -18,6 +18,8 @@ from functest.core import vnf
from functest.core import testcase
from functest.utils import constants
+from snaps.openstack.os_credentials import OSCreds
+
class VnfBaseTesting(unittest.TestCase):
"""The class testing VNF."""
@@ -102,91 +104,62 @@ class VnfBaseTesting(unittest.TestCase):
with self.assertRaises(vnf.VnfTestException):
self.test.test_vnf()
- @mock.patch('functest.core.vnf.os_utils.get_keystone_client')
- @mock.patch('functest.core.vnf.os_utils.delete_user',
- return_value=True)
- def test_clean_user_already_exist(self, *args):
- self.test.exist_obj['user'] = True
- self.test.clean()
- args[0].assert_not_called()
- args[1].assert_called_once_with()
-
- @mock.patch('functest.core.vnf.os_utils.get_keystone_client')
- @mock.patch('functest.core.vnf.os_utils.delete_user',
- return_value=True)
- def test_clean_user_created(self, *args):
- self.test.exist_obj['user'] = False
- self.test.clean()
- args[0].assert_called_once_with(mock.ANY, self.tenant_name)
- args[1].assert_called_once_with()
-
- @mock.patch('functest.core.vnf.os_utils.get_keystone_client')
- @mock.patch('functest.core.vnf.os_utils.delete_tenant',
- return_value=True)
- def test_clean_tenant_already_exist(self, *args):
- self.test.exist_obj['tenant'] = True
- self.test.clean()
- args[0].assert_not_called()
- args[1].assert_called_once_with()
-
- @mock.patch('functest.core.vnf.os_utils.get_keystone_client')
- @mock.patch('functest.core.vnf.os_utils.delete_tenant',
- return_value=True)
- def test_clean_tenant_created(self, *args):
- self.test.exist_obj['tenant'] = False
- self.test.clean()
- args[0].assert_called_once_with(mock.ANY, self.tenant_name)
- args[1].assert_called_once_with()
-
def test_deploy_orch_unimplemented(self):
self.assertTrue(self.test.deploy_orchestrator())
- @mock.patch('functest.core.vnf.os_utils.get_keystone_client',
- return_value='test')
- @mock.patch('functest.core.vnf.os_utils.get_or_create_tenant_for_vnf',
- return_value=True)
- @mock.patch('functest.core.vnf.os_utils.get_or_create_user_for_vnf',
- return_value=True)
- @mock.patch('functest.core.vnf.os_utils.get_credentials',
- return_value={'auth_url': 'test'})
- def test_prepare(self, *args):
- self.assertEqual(self.test.prepare(),
- testcase.TestCase.EX_OK)
- args[0].assert_called_once_with()
- args[1].assert_called_once_with('test', self.tenant_name)
- args[2].assert_called_once_with(
- 'test', self.tenant_name, self.tenant_description)
- args[3].assert_called_once_with()
-
- @mock.patch('functest.core.vnf.os_utils.get_keystone_client',
+# @mock.patch('snaps.openstack.tests.openstack_tests.get_credentials',
+# return_value='test')
+# @mock.patch('snaps.openstack.create_project.OpenStackProject',
+# return_value=True)
+# @mock.patch('snaps.openstack.create_user.OpenStackUser',
+# return_value=True)
+# def test_prepare(self, *args):
+# self.assertEqual(self.test.prepare(),
+# testcase.TestCase.EX_OK)
+# args[0].assert_called_once_with()
+# args[1].assert_called_once_with('test', self.tenant_name)
+# args[2].assert_called_once_with(
+# 'test', self.tenant_name, self.tenant_description)
+# args[3].assert_called_once_with()
+
+ @mock.patch('snaps.openstack.tests.openstack_tests.get_credentials',
+ return_value=OSCreds(
+ username='user', password='pass',
+ auth_url='http://foo.com:5000/v3', project_name='bar'),
side_effect=Exception)
def test_prepare_keystone_client_ko(self, *args):
with self.assertRaises(vnf.VnfPreparationException):
self.test.prepare()
- args[0].assert_called_once_with()
-
- @mock.patch('functest.core.vnf.os_utils.get_keystone_client')
- @mock.patch('functest.core.vnf.os_utils.get_or_create_tenant_for_vnf',
- side_effect=Exception)
- def test_prepare_tenant_creation_ko(self, *args):
- with self.assertRaises(vnf.VnfPreparationException):
- self.test.prepare()
- args[0].assert_called_once_with(
- mock.ANY, self.tenant_name, self.tenant_description)
- args[1].assert_called_once_with()
-
- @mock.patch('functest.core.vnf.os_utils.get_keystone_client')
- @mock.patch('functest.core.vnf.os_utils.get_or_create_tenant_for_vnf',
- return_value=0)
- @mock.patch('functest.core.vnf.os_utils.get_or_create_user_for_vnf',
- side_effect=Exception)
- def test_prepare_user_creation_ko(self, *args):
- with self.assertRaises(vnf.VnfPreparationException):
- self.test.prepare()
- args[0].assert_called_once_with(mock.ANY, self.tenant_name)
- args[1].assert_called_once_with(
- mock.ANY, self.tenant_name, self.tenant_description)
- args[2].assert_called_once_with()
+ args[0].assert_called_once()
+
+# @mock.patch('snaps.openstack.tests.openstack_tests.get_credentials',
+# return_value=OS_CREDS)
+# @mock.patch('snaps.openstack.create_project.OpenStackProject')
+# @mock.patch('snaps.openstack.create_project.OpenStackProject.create',
+# side_effect=Exception)
+# def test_prepare_tenant_creation_ko(self, *args):
+# with self.assertRaises(vnf.VnfPreparationException):
+# self.test.prepare()
+# args[2].assert_called_once()
+# args[1].assert_called_once_with(OS_CREDS,
+# ProjectSettings(
+# name=self.tenant_name,
+# description=self.tenant_description,
+# ))
+# args[0].assert_called_once()
+
+# @mock.patch('snaps.openstack.tests.openstack_tests.get_credentials')
+# @mock.patch('snaps.openstack.create_project.OpenStackProject',
+# return_value=0)
+# @mock.patch('snaps.openstack.create_user.OpenStackUser',
+# side_effect=Exception)
+# def test_prepare_user_creation_ko(self, *args):
+# with self.assertRaises(vnf.VnfPreparationException):
+# self.test.prepare()
+# args[0].assert_called_once_with(mock.ANY, self.tenant_name)
+# args[1].assert_called_once_with(
+# mock.ANY, self.tenant_name, self.tenant_description)
+# args[2].assert_called_once_with()
if __name__ == "__main__":
diff --git a/functest/tests/unit/vnf/ims/test_cloudify_ims.py b/functest/tests/unit/vnf/ims/test_cloudify_ims.py
index f0483c69f..cdd657aac 100644
--- a/functest/tests/unit/vnf/ims/test_cloudify_ims.py
+++ b/functest/tests/unit/vnf/ims/test_cloudify_ims.py
@@ -13,8 +13,6 @@ import mock
from functest.core import vnf
from functest.opnfv_tests.vnf.ims import cloudify_ims
-from snaps.openstack.os_credentials import OSCreds
-
class CloudifyImsTesting(unittest.TestCase):
@@ -57,114 +55,10 @@ class CloudifyImsTesting(unittest.TestCase):
'vnf': {},
'test_vnf': {}}
- @mock.patch('functest.core.vnf.os_utils.get_keystone_client',
- return_value='test')
- @mock.patch('functest.core.vnf.os_utils.get_or_create_tenant_for_vnf',
- return_value=True)
- @mock.patch('functest.core.vnf.os_utils.get_or_create_user_for_vnf',
- return_value=True)
- @mock.patch('functest.core.vnf.os_utils.get_credentials',
- return_value={'auth_url': 'test/v1'})
- @mock.patch('snaps.openstack.create_image.OpenStackImage.create')
- def test_prepare_default(self, *args):
- self.assertIsNone(self.ims_vnf.prepare())
- args[4].assert_called_once_with()
-
- @mock.patch('functest.core.vnf.os_utils.get_keystone_client',
- return_value='test')
- @mock.patch('functest.core.vnf.os_utils.get_or_create_tenant_for_vnf',
- return_value=True)
- @mock.patch('functest.core.vnf.os_utils.get_or_create_user_for_vnf',
- return_value=True)
- @mock.patch('functest.core.vnf.os_utils.get_credentials',
- return_value={'auth_url': 'test/no_v'})
- @mock.patch('snaps.openstack.create_image.OpenStackImage.create')
- def test_prepare_bad_auth_url(self, *args):
- with self.assertRaises(Exception):
- self.ims_vnf.image_creator(
- OSCreds(username='user', password='pass', auth_url='url',
- project_name='project', identity_api_version=3),
- mock.Mock())
- args[0].assert_not_called()
-
def test_prepare_missing_param(self):
with self.assertRaises(vnf.VnfPreparationException):
self.ims_vnf.prepare()
- @mock.patch('functest.core.vnf.os_utils.get_keystone_client',
- side_effect=Exception)
- def test_prepare_keystone_exception(self, *args):
- with self.assertRaises(vnf.VnfPreparationException):
- self.ims_vnf.prepare()
- args[0].assert_called_once_with()
-
- @mock.patch('functest.core.vnf.os_utils.get_keystone_client',
- return_value='test')
- @mock.patch('functest.core.vnf.os_utils.get_or_create_tenant_for_vnf',
- side_effect=Exception)
- def test_prepare_tenant_exception(self, *args):
- with self.assertRaises(vnf.VnfPreparationException):
- self.ims_vnf.prepare()
- args[1].assert_called_once_with()
-
- @mock.patch('functest.core.vnf.os_utils.get_keystone_client',
- return_value='test')
- @mock.patch('functest.core.vnf.os_utils.get_or_create_tenant_for_vnf',
- return_value=True)
- @mock.patch('functest.core.vnf.os_utils.get_or_create_user_for_vnf',
- side_effect=Exception)
- def test_prepare_user_exception(self, *args):
- with self.assertRaises(vnf.VnfPreparationException):
- self.ims_vnf.prepare()
- args[2].assert_called_once_with()
-
- @mock.patch('functest.core.vnf.os_utils.get_keystone_client',
- return_value='test')
- @mock.patch('functest.core.vnf.os_utils.get_or_create_tenant_for_vnf',
- return_value=True)
- @mock.patch('functest.core.vnf.os_utils.get_or_create_user_for_vnf',
- return_value=True)
- @mock.patch('functest.core.vnf.os_utils.get_credentials',
- side_effect=Exception)
- def test_prepare_credentials_exception(self, *args):
- with self.assertRaises(vnf.VnfPreparationException):
- self.ims_vnf.prepare()
- args[0].assert_called_once_with()
-
- # @mock.patch('snaps.openstack.create_keypairs.OpenStackKeypair',
- # side_effect=Exception)
- # def test_deploy_orchestrator_keypair_exception(self, *args):
- # with self.assertRaises(vnf.OrchestratorDeploymentException):
- # self.ims_vnf.deploy_orchestrator()
-
- # def test_deploy_orchestrator_network_creation_fail(self):
- # def test_deploy_orchestrator_floatting_ip_creation_fail(self):
- # def test_deploy_orchestrator_flavor_fail(self):
- # def test_deploy_orchestrator_get_image_id_fail(self):
- # def test_deploy_orchestrator_create_instance_fail(self):
- # def test_deploy_orchestrator_secgroup_fail(self):
- # def test_deploy_orchestrator_add_floating_ip_fail(self):
- # def test_deploy_orchestrator_get_endpoint_fail(self):
- # def test_deploy_orchestrator_initiate CloudifyClient_fail(self):
- # def test_deploy_orchestrator_get_status_fail(self):
- #
-
- # def test_deploy_vnf(self):
- # def test_deploy_vnf_publish_fail(self):
- # def test_deploy_vnf_get_flavor_fail(self):
- # def test_deploy_vnf_get_external_net_fail(self):
- # def test_deploy_vnf_deployment_create_fail(self):
- # def test_deploy_vnf_start_fail(self):
- #
- # def test_test_vnf(self):
- # def test_test_vnf_deployment_get_fail(self):
- # def test_test_vnf_run_live_test_fail(self):
- #
- # def test_clean(self):
- # def test_clean_execution_start_fail(self):
- # def test_clean_deployment_delete_fail(self):
- # def test_clean_blueprint_delete_fail(self):
-
if __name__ == "__main__":
logging.disable(logging.CRITICAL)
diff --git a/functest/tests/unit/vnf/ims/test_orchestra_clearwaterims.py b/functest/tests/unit/vnf/ims/test_orchestra_clearwaterims.py
index ef227ca43..2e83f30a4 100644
--- a/functest/tests/unit/vnf/ims/test_orchestra_clearwaterims.py
+++ b/functest/tests/unit/vnf/ims/test_orchestra_clearwaterims.py
@@ -11,7 +11,6 @@ import logging
import unittest
import mock
-from snaps.openstack.os_credentials import OSCreds
from functest.core import vnf
from functest.opnfv_tests.vnf.ims import orchestra_clearwaterims
@@ -110,117 +109,11 @@ class OrchestraClearwaterImsTesting(unittest.TestCase):
'vnf': {},
'test_vnf': {}}
- @mock.patch('functest.core.vnf.os_utils.get_keystone_client',
- return_value='test')
- @mock.patch('functest.core.vnf.os_utils.get_or_create_tenant_for_vnf',
- return_value=True)
- @mock.patch('functest.core.vnf.os_utils.get_or_create_user_for_vnf',
- return_value=True)
- @mock.patch('functest.core.vnf.os_utils.get_credentials',
- return_value={'auth_url': 'test/v1'})
- @mock.patch(
- 'functest.utils.openstack_utils.get_tenant_id',
- return_value={'mocked_tenant_id'})
- @mock.patch(
- 'functest.utils.openstack_utils.get_floating_ips',
- return_value=[])
- @mock.patch('snaps.openstack.create_image.OpenStackImage.create')
- @mock.patch('snaps.openstack.create_flavor.OpenStackFlavor.create')
- @mock.patch(
- 'snaps.openstack.create_security_group.OpenStackSecurityGroup.create')
- @mock.patch('snaps.openstack.create_network.OpenStackNetwork.create')
- @mock.patch('snaps.openstack.create_router.OpenStackRouter.create')
- @mock.patch(
- 'functest.opnfv_tests.openstack.snaps.snaps_utils.get_ext_net_name')
- @mock.patch(
- 'functest.opnfv_tests.openstack.snaps.'
- 'snaps_utils.neutron_utils.create_floating_ip')
- def test_prepare_default(self, *args):
- """Testing prepare function without any exceptions expected"""
- self.assertIsNone(self.ims_vnf.prepare())
- args[4].assert_called_once_with()
-
- @mock.patch('functest.core.vnf.os_utils.get_keystone_client',
- return_value='test')
- @mock.patch('functest.core.vnf.os_utils.get_or_create_tenant_for_vnf',
- return_value=True)
- @mock.patch('functest.core.vnf.os_utils.get_or_create_user_for_vnf',
- return_value=True)
- @mock.patch('functest.core.vnf.os_utils.get_credentials',
- return_value={'auth_url': 'test/no_v'})
- @mock.patch('snaps.openstack.create_image.OpenStackImage.create')
- def test_prepare_bad_auth_url(self, *args):
- """Testing prepare function with bad auth url"""
- with self.assertRaises(Exception):
- self.ims_vnf.image_creator(
- OSCreds(username='user', password='pass', auth_url='url',
- project_name='project', identity_api_version=3),
- mock.Mock())
- args[0].assert_not_called()
-
def test_prepare_missing_param(self):
"""Testing prepare function with missing param"""
with self.assertRaises(vnf.VnfPreparationException):
self.ims_vnf.prepare()
- @mock.patch('functest.core.vnf.os_utils.get_keystone_client',
- side_effect=Exception)
- def test_prepare_keystone_exception(self, *args):
- """Testing prepare function with keystone exception"""
- with self.assertRaises(vnf.VnfPreparationException):
- self.ims_vnf.prepare()
- args[0].assert_called_once_with()
-
- @mock.patch('functest.core.vnf.os_utils.get_keystone_client',
- return_value='test')
- @mock.patch('functest.core.vnf.os_utils.get_or_create_tenant_for_vnf',
- side_effect=Exception)
- def test_prepare_tenant_exception(self, *args):
- """Testing prepare function with tenant exception"""
- with self.assertRaises(vnf.VnfPreparationException):
- self.ims_vnf.prepare()
- args[1].assert_called_once_with()
-
- @mock.patch('functest.core.vnf.os_utils.get_keystone_client',
- return_value='test')
- @mock.patch('functest.core.vnf.os_utils.get_or_create_tenant_for_vnf',
- return_value=True)
- @mock.patch('functest.core.vnf.os_utils.get_or_create_user_for_vnf',
- side_effect=Exception)
- def test_prepare_user_exception(self, *args):
- """Testing prepare function with user exception"""
- with self.assertRaises(vnf.VnfPreparationException):
- self.ims_vnf.prepare()
- args[2].assert_called_once_with()
-
- @mock.patch('functest.core.vnf.os_utils.get_keystone_client',
- return_value='test')
- @mock.patch('functest.core.vnf.os_utils.get_or_create_tenant_for_vnf',
- return_value=True)
- @mock.patch('functest.core.vnf.os_utils.get_or_create_user_for_vnf',
- return_value=True)
- @mock.patch('functest.core.vnf.os_utils.get_credentials',
- side_effect=Exception)
- def test_prepare_credentials_exception(self, *args):
- """Testing prepare function with credentials exception"""
- with self.assertRaises(vnf.VnfPreparationException):
- self.ims_vnf.prepare()
- args[0].assert_called_once_with()
-
- # # @mock.patch('functest.opnfv_tests.vnf.
- # ims.orchestra_clearwaterims.get_userdata')
- # def test_deploy_orchestrator(self, *args):
- # floating_ip = FloatingIp
- # floating_ip.ip = 'mocked_ip'
- # details = {'fip':floating_ip,'flavor':{'name':'mocked_name'}}
- # self.mano['details'] = details
- # with mock.patch.dict(self.mano, {'details':
- # {'fip':floating_ip,'flavor':{'name':'mocked_name'}}}):
- # # with mock.patch.dict(self.mano, details):
- # orchestra_clearwaterims.get_userdata(self.mano)
- # self.assertIsNone(self.ims_vnf.deploy_orchestrator())
- # args[4].assert_called_once_with()
-
if __name__ == "__main__":
logging.disable(logging.CRITICAL)
diff --git a/functest/tests/unit/vnf/ims/test_orchestra_openims.py b/functest/tests/unit/vnf/ims/test_orchestra_openims.py
index 5911cf77b..47a8d0338 100644
--- a/functest/tests/unit/vnf/ims/test_orchestra_openims.py
+++ b/functest/tests/unit/vnf/ims/test_orchestra_openims.py
@@ -11,7 +11,6 @@ import logging
import unittest
import mock
-from snaps.openstack.os_credentials import OSCreds
from functest.core import vnf
from functest.opnfv_tests.vnf.ims import orchestra_openims
@@ -112,117 +111,11 @@ class OrchestraOpenImsTesting(unittest.TestCase):
'vnf': {},
'test_vnf': {}}
- @mock.patch('functest.core.vnf.os_utils.get_keystone_client',
- return_value='test')
- @mock.patch('functest.core.vnf.os_utils.get_or_create_tenant_for_vnf',
- return_value=True)
- @mock.patch('functest.core.vnf.os_utils.get_or_create_user_for_vnf',
- return_value=True)
- @mock.patch('functest.core.vnf.os_utils.get_credentials',
- return_value={'auth_url': 'test/v1'})
- @mock.patch(
- 'functest.utils.openstack_utils.get_tenant_id',
- return_value={'mocked_tenant_id'})
- @mock.patch(
- 'functest.utils.openstack_utils.get_floating_ips',
- return_value=[])
- @mock.patch('snaps.openstack.create_image.OpenStackImage.create')
- @mock.patch('snaps.openstack.create_flavor.OpenStackFlavor.create')
- @mock.patch(
- 'snaps.openstack.create_security_group.OpenStackSecurityGroup.create')
- @mock.patch('snaps.openstack.create_network.OpenStackNetwork.create')
- @mock.patch('snaps.openstack.create_router.OpenStackRouter.create')
- @mock.patch(
- 'functest.opnfv_tests.openstack.snaps.snaps_utils.get_ext_net_name')
- @mock.patch(
- 'functest.opnfv_tests.openstack.snaps.snaps_utils.'
- 'neutron_utils.create_floating_ip')
- def test_prepare_default(self, *args):
- """Testing prepare function without any exceptions expected"""
- self.assertIsNone(self.ims_vnf.prepare())
- args[4].assert_called_once_with()
-
- @mock.patch('functest.core.vnf.os_utils.get_keystone_client',
- return_value='test')
- @mock.patch('functest.core.vnf.os_utils.get_or_create_tenant_for_vnf',
- return_value=True)
- @mock.patch('functest.core.vnf.os_utils.get_or_create_user_for_vnf',
- return_value=True)
- @mock.patch('functest.core.vnf.os_utils.get_credentials',
- return_value={'auth_url': 'test/no_v'})
- @mock.patch('snaps.openstack.create_image.OpenStackImage.create')
- def test_prepare_bad_auth_url(self, *args):
- """Testing prepare function with bad auth url"""
- with self.assertRaises(Exception):
- self.ims_vnf.image_creator(
- OSCreds(username='user', password='pass', auth_url='url',
- project_name='project', identity_api_version=3),
- mock.Mock())
- args[0].assert_not_called()
-
def test_prepare_missing_param(self):
"""Testing prepare function with missing param"""
with self.assertRaises(vnf.VnfPreparationException):
self.ims_vnf.prepare()
- @mock.patch('functest.core.vnf.os_utils.get_keystone_client',
- side_effect=Exception)
- def test_prepare_keystone_exception(self, *args):
- """Testing prepare function with keystone exception"""
- with self.assertRaises(vnf.VnfPreparationException):
- self.ims_vnf.prepare()
- args[0].assert_called_once_with()
-
- @mock.patch('functest.core.vnf.os_utils.get_keystone_client',
- return_value='test')
- @mock.patch('functest.core.vnf.os_utils.get_or_create_tenant_for_vnf',
- side_effect=Exception)
- def test_prepare_tenant_exception(self, *args):
- """Testing prepare function with tenant exception"""
- with self.assertRaises(vnf.VnfPreparationException):
- self.ims_vnf.prepare()
- args[1].assert_called_once_with()
-
- @mock.patch('functest.core.vnf.os_utils.get_keystone_client',
- return_value='test')
- @mock.patch('functest.core.vnf.os_utils.get_or_create_tenant_for_vnf',
- return_value=True)
- @mock.patch('functest.core.vnf.os_utils.get_or_create_user_for_vnf',
- side_effect=Exception)
- def test_prepare_user_exception(self, *args):
- """Testing prepare function with user exception"""
- with self.assertRaises(vnf.VnfPreparationException):
- self.ims_vnf.prepare()
- args[2].assert_called_once_with()
-
- @mock.patch('functest.core.vnf.os_utils.get_keystone_client',
- return_value='test')
- @mock.patch('functest.core.vnf.os_utils.get_or_create_tenant_for_vnf',
- return_value=True)
- @mock.patch('functest.core.vnf.os_utils.get_or_create_user_for_vnf',
- return_value=True)
- @mock.patch('functest.core.vnf.os_utils.get_credentials',
- side_effect=Exception)
- def test_prepare_credentials_exception(self, *args):
- """Testing prepare function with credentials exception"""
- with self.assertRaises(vnf.VnfPreparationException):
- self.ims_vnf.prepare()
- args[0].assert_called_once_with()
-
- # # @mock.patch('functest.opnfv_tests.
- # vnf.ims.orchestra_openims.get_userdata')
- # def test_deploy_orchestrator(self, *args):
- # floating_ip = FloatingIp
- # floating_ip.ip = 'mocked_ip'
- # details = {'fip':floating_ip,'flavor':{'name':'mocked_name'}}
- # self.mano['details'] = details
- # with mock.patch.dict(self.mano, {'details':
- # {'fip':floating_ip,'flavor':{'name':'mocked_name'}}}):
- # # with mock.patch.dict(self.mano, details):
- # orchestra_openims.get_userdata(self.mano)
- # self.assertIsNone(self.ims_vnf.deploy_orchestrator())
- # args[4].assert_called_once_with()
-
if __name__ == "__main__":
logging.disable(logging.CRITICAL)