diff options
Diffstat (limited to 'functest/tests')
-rw-r--r-- | functest/tests/unit/core/test_vnf.py | 129 | ||||
-rw-r--r-- | functest/tests/unit/utils/test_functest_utils.py | 43 | ||||
-rw-r--r-- | functest/tests/unit/utils/test_openstack_tacker.py | 524 | ||||
-rw-r--r-- | functest/tests/unit/vnf/ims/test_cloudify_ims.py | 106 | ||||
-rw-r--r-- | functest/tests/unit/vnf/ims/test_orchestra_clearwaterims.py | 107 | ||||
-rw-r--r-- | functest/tests/unit/vnf/ims/test_orchestra_openims.py | 107 | ||||
-rw-r--r-- | functest/tests/unit/vnf/router/__init__.py | 0 | ||||
-rw-r--r-- | functest/tests/unit/vnf/router/test_cloudify_vrouter.py | 68 | ||||
-rw-r--r-- | functest/tests/unit/vnf/router/test_vrouter_base.py | 28 |
9 files changed, 150 insertions, 962 deletions
diff --git a/functest/tests/unit/core/test_vnf.py b/functest/tests/unit/core/test_vnf.py index 2ebbbe37..00a29ead 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/utils/test_functest_utils.py b/functest/tests/unit/utils/test_functest_utils.py index cd3693c7..17fb4c1f 100644 --- a/functest/tests/unit/utils/test_functest_utils.py +++ b/functest/tests/unit/utils/test_functest_utils.py @@ -97,42 +97,6 @@ class FunctestUtilsTesting(unittest.TestCase): m.assert_called_once_with(dest, 'wb') self.assertTrue(mock_sh.called) - @mock.patch('functest.utils.functest_utils.logger.error') - def test_get_installer_type_failed(self, mock_logger_error): - with mock.patch.dict(os.environ, - {}, - clear=True): - self.assertEqual(functest_utils.get_installer_type(), - "Unknown_installer") - mock_logger_error.assert_called_once_with("Impossible to retrieve" - " the installer type") - - def test_get_installer_type_default(self): - with mock.patch.dict(os.environ, - {'INSTALLER_TYPE': 'test_installer'}, - clear=True): - self.assertEqual(functest_utils.get_installer_type(), - self.installer) - - @mock.patch('functest.utils.functest_utils.logger.info') - def test_get_scenario_failed(self, mock_logger_info): - with mock.patch.dict(os.environ, - {}, - clear=True): - self.assertEqual(functest_utils.get_scenario(), - "os-nosdn-nofeature-noha") - mock_logger_info.assert_called_once_with("Impossible to retrieve " - "the scenario.Use " - "default " - "os-nosdn-nofeature-noha") - - def test_get_scenario_default(self): - with mock.patch.dict(os.environ, - {'DEPLOY_SCENARIO': 'test_scenario'}, - clear=True): - self.assertEqual(functest_utils.get_scenario(), - self.scenario) - def test_get_version_daily_job(self): CONST.__setattr__('BUILD_TAG', self.build_tag) self.assertEqual(functest_utils.get_version(), self.version) @@ -154,10 +118,9 @@ class FunctestUtilsTesting(unittest.TestCase): CONST.__setattr__('results_test_db_url', self.db_url) CONST.__setattr__('BUILD_TAG', self.build_tag) CONST.__setattr__('NODE_NAME', self.node_name) - with mock.patch('functest.utils.functest_utils.get_scenario', - return_value=self.scenario), \ - mock.patch('functest.utils.functest_utils.get_version', - return_value=self.version): + CONST.__setattr__('DEPLOY_SCENARIO', self.scenario) + with mock.patch('functest.utils.functest_utils.get_version', + return_value=self.version): functest_utils.logger_test_results(self.project, self.case_name, self.status, self.details) mock_logger_info.assert_called_once_with( diff --git a/functest/tests/unit/utils/test_openstack_tacker.py b/functest/tests/unit/utils/test_openstack_tacker.py deleted file mode 100644 index 3c0fc3d0..00000000 --- a/functest/tests/unit/utils/test_openstack_tacker.py +++ /dev/null @@ -1,524 +0,0 @@ -#!/usr/bin/env python - -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Apache License, Version 2.0 -# which accompanies this distribution, and is available at -# http://www.apache.org/licenses/LICENSE-2.0 - -import logging -import unittest - -import mock -from tackerclient.v1_0 import client as tackerclient - -from functest.utils import openstack_tacker -from functest.tests.unit import test_utils - - -class OSTackerTesting(unittest.TestCase): - - def setUp(self): - self.tacker_client = mock.Mock() - self.getresponse = {'vnfds': [{'id': 'test_id'}], - 'vnfs': [{'id': 'test_id'}], - 'sfcs': [{'id': 'test_id'}]} - self.vnfdlist = {'vnfds': [{'id': 'test_vnfd1'}, {'id': 'test_vnfd2'}]} - self.vnflist = {'vnfs': [{'id': 'test_vnf1'}, {'id': 'test_vnf2'}]} - self.sfclist = {'sfcs': [{'id': 'test_sfc1'}, {'id': 'test_sfc2'}]} - self.sfc_classifierlist = {'sfc_classifiers': [{'id': 'test_sfc_cl1'}, - {'id': 'test_sfc_cl2'}]} - - self.createvnfd = {"vnfd": {"attributes": {"vnfd": 'vnfd_body'}}} - self.createvnf = {"vnf": {"attributes": {"vnf": 'vnf_body'}}} - self.createsfc = {"sfc": {"attributes": {"sfc": 'sfc_body'}}} - self.createsfc_clf = {"sfc_classifier": {"attributes": - {"sfc_clf": 'sfc_clf_body'}}} - - self.resource_type = 'vnfd' - self.resource_name = 'resource_name' - self.tosca_file = 'test_tosca_file' - self.vnfd = 'test_vnfd' - self.vnf = 'test_vnf' - self.sfc = 'test_sfc' - self.sfc_clf = 'test_sfc_clf' - - def _get_creds(self): - cred_dict = { - 'OS_USERNAME': 'username', - 'OS_PASSWORD': 'password', - 'OS_AUTH_URL': 'auth_url', - 'OS_TENANT_NAME': 'tenant_name', - 'OS_USER_DOMAIN_NAME': 'user_domain_name', - 'OS_PROJECT_DOMAIN_NAME': 'project_domain_name', - 'OS_PROJECT_NAME': 'project_name', - 'OS_ENDPOINT_TYPE': 'endpoint_type', - 'OS_REGION_NAME': 'region_name' - } - return cred_dict - - def test_get_tacker_client(self): - with mock.patch('functest.utils.openstack_tacker.' - 'os_utils.get_session'): - tackerclient.Client = mock.Mock - ret = openstack_tacker.get_tacker_client() - self.assertTrue(isinstance(ret, mock.Mock)) - - def test_get_id_from_name(self): - with mock.patch.object(self.tacker_client, 'get', - return_value=self.getresponse): - resp = openstack_tacker.get_id_from_name(self.tacker_client, - self.resource_type, - self.resource_name) - self.assertEqual(resp, 'test_id') - - @mock.patch('functest.utils.openstack_tacker.logger.error') - def test_get_id_from_name_exception(self, mock_logger_error): - with mock.patch.object(self.tacker_client, 'get', - side_effect=Exception): - resp = openstack_tacker.get_id_from_name(self.tacker_client, - self.resource_type, - self.resource_name) - self.assertIsNone(resp) - mock_logger_error.assert_called_once_with(test_utils. - SubstrMatch("Error [get" - "_id_from_" - "name(tacker" - "_client" - ", resource_" - "type, " - "resource_" - "name)]:")) - - @mock.patch('functest.utils.openstack_tacker.get_id_from_name') - def test_get_vnfd_id(self, mock_get_id_from_name): - openstack_tacker.get_vnfd_id(self.tacker_client, self.resource_name) - mock_get_id_from_name.assert_called_once_with(self.tacker_client, - 'vnfd', - self.resource_name) - - @mock.patch('functest.utils.openstack_tacker.get_id_from_name') - def test_get_vnf_id(self, mock_get_id_from_name): - openstack_tacker.get_vnf_id(self.tacker_client, self.resource_name) - mock_get_id_from_name.assert_called_once_with(self.tacker_client, - 'vnf', - self.resource_name) - - @mock.patch('functest.utils.openstack_tacker.get_id_from_name') - def test_get_sfc_id(self, mock_get_id_from_name): - openstack_tacker.get_sfc_id(self.tacker_client, self.resource_name) - mock_get_id_from_name.assert_called_once_with(self.tacker_client, - 'sfc', - self.resource_name) - - @mock.patch('functest.utils.openstack_tacker.get_id_from_name') - def test_get_sfc_classifier_id(self, mock_get_id_from_name): - openstack_tacker.get_sfc_classifier_id(self.tacker_client, - self.resource_name) - mock_get_id_from_name.assert_called_once_with(self.tacker_client, - 'sfc-classifier', - self.resource_name) - - def test_list_vnfds(self): - with mock.patch.object(self.tacker_client, 'list_vnfds', - return_value=self.vnfdlist): - resp = openstack_tacker.list_vnfds(self.tacker_client, - verbose=False) - self.assertEqual(resp, ['test_vnfd1', 'test_vnfd2']) - - def test_list_vnfds_verbose(self): - with mock.patch.object(self.tacker_client, 'list_vnfds', - return_value=self.vnfdlist): - resp = openstack_tacker.list_vnfds(self.tacker_client, - verbose=True) - self.assertEqual(resp, self.vnfdlist) - - @mock.patch('functest.utils.openstack_tacker.logger.error') - def test_list_vnfds_exception(self, mock_logger_error): - with mock.patch.object(self.tacker_client, 'list_vnfds', - side_effect=Exception): - resp = openstack_tacker.list_vnfds(self.tacker_client, - verbose=False) - mock_logger_error.assert_called_once_with(test_utils. - SubstrMatch("Error" - " [list" - "_vnfds(" - "tacker_" - "client)]:")) - self.assertIsNone(resp) - - def test_create_vnfd_missing_file(self): - with mock.patch.object(self.tacker_client, 'create_vnfd', - return_value=self.createvnfd): - resp = openstack_tacker.create_vnfd(self.tacker_client, - tosca_file=None) - self.assertEqual(resp, self.createvnfd) - - def test_create_vnfd_default(self): - with mock.patch.object(self.tacker_client, 'create_vnfd', - return_value=self.createvnfd), \ - mock.patch('__builtin__.open', mock.mock_open(read_data='1')) \ - as m: - resp = openstack_tacker.create_vnfd(self.tacker_client, - tosca_file=self.tosca_file) - m.assert_called_once_with(self.tosca_file) - self.assertEqual(resp, self.createvnfd) - - @mock.patch('functest.utils.openstack_tacker.logger.error') - def test_create_vnfd_exception(self, mock_logger_error): - with mock.patch.object(self.tacker_client, 'create_vnfd', - side_effect=Exception): - resp = openstack_tacker.create_vnfd(self.tacker_client, - tosca_file=self.tosca_file) - mock_logger_error.assert_called_once_with(test_utils. - SubstrMatch("Error" - " [create" - "_vnfd(" - "tacker_" - "client, " - "'%s')]" - % self. - tosca_file)) - self.assertIsNone(resp) - - def test_delete_vnfd(self): - with mock.patch('functest.utils.openstack_tacker.get_vnfd_id', - return_value=self.vnfd), \ - mock.patch.object(self.tacker_client, 'delete_vnfd', - return_value=self.vnfd): - resp = openstack_tacker.delete_vnfd(self.tacker_client, - vnfd_id='vnfd_id', - vnfd_name=self.vnfd) - self.assertEqual(resp, self.vnfd) - - def test_delete_vnfd_missing_vnfd_name(self): - with mock.patch('functest.utils.openstack_tacker.get_vnfd_id', - return_value=self.vnfd), \ - self.assertRaises(Exception) as context: - resp = openstack_tacker.delete_vnfd(self.tacker_client, - vnfd_id=None, - vnfd_name=None) - self.assertIsNone(resp) - msg = 'You need to provide VNFD id or VNFD name' - self.assertTrue(msg in context) - - @mock.patch('functest.utils.openstack_tacker.logger.error') - def test_delete_vnfd_exception(self, mock_logger_error): - with mock.patch('functest.utils.openstack_tacker.get_vnfd_id', - return_value=self.vnfd), \ - mock.patch.object(self.tacker_client, 'delete_vnfd', - side_effect=Exception): - resp = openstack_tacker.delete_vnfd(self.tacker_client, - vnfd_id=None, - vnfd_name=None) - self.assertIsNone(resp) - self.assertTrue(mock_logger_error.called) - - def test_list_vnfs(self): - with mock.patch.object(self.tacker_client, 'list_vnfs', - return_value=self.vnflist): - resp = openstack_tacker.list_vnfs(self.tacker_client, - verbose=False) - self.assertEqual(resp, ['test_vnf1', 'test_vnf2']) - - def test_list_vnfs_verbose(self): - with mock.patch.object(self.tacker_client, 'list_vnfs', - return_value=self.vnflist): - resp = openstack_tacker.list_vnfs(self.tacker_client, - verbose=True) - self.assertEqual(resp, self.vnflist) - - @mock.patch('functest.utils.openstack_tacker.logger.error') - def test_list_vnfs_exception(self, mock_logger_error): - with mock.patch.object(self.tacker_client, 'list_vnfs', - side_effect=Exception): - resp = openstack_tacker.list_vnfs(self.tacker_client, - verbose=False) - mock_logger_error.assert_called_once_with(test_utils. - SubstrMatch("Error" - " [list" - "_vnfs(" - "tacker_" - "client)]:")) - self.assertIsNone(resp) - - def test_create_vnf_default(self): - with mock.patch.object(self.tacker_client, 'create_vnf', - return_value=self.createvnf), \ - mock.patch('functest.utils.openstack_tacker.get_vnfd_id', - return_value=self.vnf): - resp = openstack_tacker.create_vnf(self.tacker_client, - vnf_name=self.vnf, - vnfd_id='vnfd_id', - vnfd_name=self.vnfd) - self.assertEqual(resp, self.createvnf) - - @mock.patch('functest.utils.openstack_tacker.logger.error') - def test_create_vnf_exception(self, mock_logger_error): - with mock.patch.object(self.tacker_client, 'create_vnf', - side_effect=Exception): - resp = openstack_tacker.create_vnf(self.tacker_client, - vnf_name=self.vnf, - vnfd_id='vnfd_id', - vnfd_name=self.vnfd) - mock_logger_error.assert_called_once_with(test_utils. - SubstrMatch("error" - " [create" - "_vnf(" - "tacker_" - "client")) - self.assertIsNone(resp) - - def test_wait_for_vnf_vnf_retrieval_failed(self): - with mock.patch('functest.utils.openstack_tacker.get_vnf', - return_value=None), \ - self.assertRaises(Exception) as context: - openstack_tacker.wait_for_vnf(self.tacker_client, - vnf_id='vnf_id', - vnf_name='vnf_name') - msg = ("Could not retrieve VNF - id='vnf_id', " - "name='vnf_name'") - self.assertTrue(msg in context) - with mock.patch('functest.utils.openstack_tacker.get_vnf', - side_effect=Exception): - ret = openstack_tacker.wait_for_vnf(self.tacker_client, - vnf_id='vnf_id', - vnf_name='vnf_name') - self.assertEqual(ret, None) - - def test_wait_for_vnf_vnf_status_error(self): - vnf = {'id': 'vnf_id', - 'status': 'ERROR'} - with mock.patch('functest.utils.openstack_tacker.get_vnf', - return_value=vnf), \ - self.assertRaises(Exception) as context: - openstack_tacker.wait_for_vnf(self.tacker_client, - vnf_id='vnf_id', - vnf_name='vnf_name') - msg = ('Error when booting vnf vnf_id') - self.assertTrue(msg in context) - - def test_wait_for_vnf_vnf_timeout(self): - vnf = {'id': 'vnf_id', - 'status': 'PENDING_CREATE'} - with mock.patch('functest.utils.openstack_tacker.get_vnf', - return_value=vnf), \ - self.assertRaises(Exception) as context: - openstack_tacker.wait_for_vnf(self.tacker_client, - vnf_id='vnf_id', - vnf_name='vnf_name', - timeout=2) - msg = ('Timeout when booting vnf vnf_id') - self.assertTrue(msg in context) - - def test_delete_vnf(self): - with mock.patch('functest.utils.openstack_tacker.get_vnf_id', - return_value=self.vnf), \ - mock.patch.object(self.tacker_client, 'delete_vnf', - return_value=self.vnf): - resp = openstack_tacker.delete_vnf(self.tacker_client, - vnf_id='vnf_id', - vnf_name=self.vnf) - self.assertEqual(resp, self.vnf) - - def test_delete_vnf_missing_vnf_name(self): - with self.assertRaises(Exception) as context: - openstack_tacker.delete_vnf(self.tacker_client, - vnf_id=None, - vnf_name=None) - msg = 'You need to provide a VNF id or name' - self.assertTrue(msg in context) - - @mock.patch('functest.utils.openstack_tacker.logger.error') - def test_delete_vnf_exception(self, mock_logger_error): - with mock.patch('functest.utils.openstack_tacker.get_vnf_id', - return_value=self.vnf), \ - mock.patch.object(self.tacker_client, 'delete_vnf', - side_effect=Exception): - resp = openstack_tacker.delete_vnf(self.tacker_client, - vnf_id=None, - vnf_name=None) - self.assertIsNone(resp) - self.assertTrue(mock_logger_error.called) - - def test_list_sfcs(self): - with mock.patch.object(self.tacker_client, 'list_sfcs', - return_value=self.sfclist): - resp = openstack_tacker.list_sfcs(self.tacker_client, - verbose=False) - self.assertEqual(resp, ['test_sfc1', 'test_sfc2']) - - def test_list_sfcs_verbose(self): - with mock.patch.object(self.tacker_client, 'list_sfcs', - return_value=self.sfclist): - resp = openstack_tacker.list_sfcs(self.tacker_client, - verbose=True) - self.assertEqual(resp, self.sfclist) - - @mock.patch('functest.utils.openstack_tacker.logger.error') - def test_list_sfcs_exception(self, mock_logger_error): - with mock.patch.object(self.tacker_client, 'list_sfcs', - side_effect=Exception): - resp = openstack_tacker.list_sfcs(self.tacker_client, - verbose=False) - mock_logger_error.assert_called_once_with(test_utils. - SubstrMatch("Error" - " [list" - "_sfcs(" - "tacker_" - "client)]:")) - self.assertIsNone(resp) - - def test_create_sfc_default(self): - with mock.patch.object(self.tacker_client, 'create_sfc', - return_value=self.createsfc), \ - mock.patch('functest.utils.openstack_tacker.get_vnf_id', - return_value=self.vnf): - resp = openstack_tacker.create_sfc(self.tacker_client, - sfc_name=self.sfc, - chain_vnf_ids=['chain_vnf_id'], - chain_vnf_names=[self.vnf]) - self.assertEqual(resp, self.createsfc) - - @mock.patch('functest.utils.openstack_tacker.logger.error') - def test_create_sfc_exception(self, mock_logger_error): - with mock.patch.object(self.tacker_client, 'create_sfc', - side_effect=Exception): - resp = openstack_tacker.create_sfc(self.tacker_client, - sfc_name=self.sfc, - chain_vnf_ids=['chain_vnf_id'], - chain_vnf_names=[self.vnf]) - mock_logger_error.assert_called_once_with(test_utils. - SubstrMatch("error" - " [create" - "_sfc(" - "tacker_" - "client")) - self.assertIsNone(resp) - - def test_delete_sfc(self): - with mock.patch('functest.utils.openstack_tacker.get_sfc_id', - return_value=self.sfc), \ - mock.patch.object(self.tacker_client, 'delete_sfc', - return_value=self.sfc): - resp = openstack_tacker.delete_sfc(self.tacker_client, - sfc_id='sfc_id', - sfc_name=self.sfc) - self.assertEqual(resp, self.sfc) - - def test_delete_sfc_missing_sfc_name(self): - with self.assertRaises(Exception) as context: - openstack_tacker.delete_sfc(self.tacker_client, - sfc_id=None, - sfc_name=None) - msg = 'You need to provide an SFC id or name' - self.assertTrue(msg in context) - - @mock.patch('functest.utils.openstack_tacker.logger.error') - def test_delete_sfc_exception(self, mock_logger_error): - with mock.patch('functest.utils.openstack_tacker.get_sfc_id', - return_value=self.sfc), \ - mock.patch.object(self.tacker_client, 'delete_sfc', - side_effect=Exception): - resp = openstack_tacker.delete_sfc(self.tacker_client, - sfc_id=None, - sfc_name=None) - self.assertIsNone(resp) - self.assertTrue(mock_logger_error.called) - - def test_list_sfc_classifiers(self): - with mock.patch.object(self.tacker_client, 'list_sfc_classifiers', - return_value=self.sfc_classifierlist): - resp = openstack_tacker.list_sfc_classifiers(self.tacker_client, - verbose=False) - self.assertEqual(resp, ['test_sfc_cl1', 'test_sfc_cl2']) - - def test_list_sfc_classifiers_verbose(self): - with mock.patch.object(self.tacker_client, 'list_sfc_classifiers', - return_value=self.sfc_classifierlist): - resp = openstack_tacker.list_sfc_classifiers(self.tacker_client, - verbose=True) - self.assertEqual(resp, self.sfc_classifierlist) - - @mock.patch('functest.utils.openstack_tacker.logger.error') - def test_list_sfc_classifiers_exception(self, mock_logger_error): - with mock.patch.object(self.tacker_client, 'list_sfc_classifiers', - side_effect=Exception): - resp = openstack_tacker.list_sfc_classifiers(self.tacker_client, - verbose=False) - mock_logger_error.assert_called_once_with(test_utils. - SubstrMatch("Error" - " [list" - "_sfc_cl" - "assifiers(" - "tacker_" - "client)]:")) - self.assertIsNone(resp) - - def test_create_sfc_classifier_default(self): - with mock.patch.object(self.tacker_client, 'create_sfc_classifier', - return_value=self.createsfc_clf), \ - mock.patch('functest.utils.openstack_tacker.get_sfc_id', - return_value=self.sfc): - cl = self.sfc_clf - resp = openstack_tacker.create_sfc_classifier(self.tacker_client, - sfc_clf_name=cl, - sfc_id='sfc_id', - sfc_name=self.sfc) - self.assertEqual(resp, self.createsfc_clf) - - @mock.patch('functest.utils.openstack_tacker.logger.error') - def test_sfc_classifier_exception(self, mock_logger_error): - with mock.patch.object(self.tacker_client, 'create_sfc_classifier', - side_effect=Exception): - cl = self.sfc_clf - resp = openstack_tacker.create_sfc_classifier(self.tacker_client, - sfc_clf_name=cl, - sfc_id='sfc_id', - sfc_name=self.sfc) - mock_logger_error.assert_called_once_with(test_utils. - SubstrMatch("error" - " [create" - "_sfc_cl" - "assifier(" - "tacker_" - "client")) - self.assertIsNone(resp) - - def test_delete_sfc_classifier(self): - with mock.patch('functest.utils.openstack_tacker.get_sfc_' - 'classifier_id', - return_value=self.sfc_clf), \ - mock.patch.object(self.tacker_client, 'delete_sfc_classifier', - return_value=self.sfc_clf): - cl = self.sfc_clf - resp = openstack_tacker.delete_sfc_classifier(self.tacker_client, - sfc_clf_id='sfc_id', - sfc_clf_name=cl) - self.assertEqual(resp, cl) - - def test_delete_sfc_classifier_missing_sfc_name(self): - with self.assertRaises(Exception) as context: - openstack_tacker.delete_vnf(self.tacker_client, - sfc_clf_id=None, - sfc_clf_name=None) - msg = 'You need to provide an SFCclassifier id or name' - self.assertTrue(msg in context) - - @mock.patch('functest.utils.openstack_tacker.logger.error') - def test_delete_sfc_classifier_exception(self, mock_logger_error): - with mock.patch('functest.utils.openstack_tacker.get_sfc_' - 'classifier_id', - return_value=self.sfc_clf), \ - mock.patch.object(self.tacker_client, 'delete_sfc_classifier', - side_effect=Exception): - cl = self.sfc_clf - resp = openstack_tacker.delete_sfc_classifier(self.tacker_client, - sfc_clf_id='sfc_id', - sfc_clf_name=cl) - self.assertIsNone(resp) - self.assertTrue(mock_logger_error.called) - - -if __name__ == "__main__": - logging.disable(logging.CRITICAL) - unittest.main(verbosity=2) diff --git a/functest/tests/unit/vnf/ims/test_cloudify_ims.py b/functest/tests/unit/vnf/ims/test_cloudify_ims.py index f0483c69..cdd657aa 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 ef227ca4..2e83f30a 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 5911cf77..47a8d033 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) diff --git a/functest/tests/unit/vnf/router/__init__.py b/functest/tests/unit/vnf/router/__init__.py new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/functest/tests/unit/vnf/router/__init__.py diff --git a/functest/tests/unit/vnf/router/test_cloudify_vrouter.py b/functest/tests/unit/vnf/router/test_cloudify_vrouter.py new file mode 100644 index 00000000..4f256234 --- /dev/null +++ b/functest/tests/unit/vnf/router/test_cloudify_vrouter.py @@ -0,0 +1,68 @@ +#!/usr/bin/env python + +# Copyright (c) 2017 Okinawa Open Laboratory and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 + +import logging +import unittest + +import mock + +from functest.core import vnf +from functest.opnfv_tests.vnf.router import cloudify_vrouter + + +class CloudifyVrouterTesting(unittest.TestCase): + + def setUp(self): + + self.tenant = 'cloudify_vrouter' + self.creds = {'username': 'user', + 'password': 'pwd'} + self.orchestrator = {'name': 'cloudify', + 'version': '4.0', + 'object': 'foo', + 'requirements': {'flavor': {'name': 'm1.medium', + 'ram_min': 4096}, + 'os_image': 'manager_4.0'}} + + self.vnf = {'name': 'vrouter', + 'descriptor': {'version': '100', + 'file_name': 'function-test-' + + 'openstack-blueprint.yaml', + 'name': 'vrouter-opnfv', + 'url': 'https://foo', + 'requirements': {'flavor': + {'name': 'm1.medium', + 'ram_min': 2048}}}} + + with mock.patch('functest.opnfv_tests.vnf.router.cloudify_vrouter.' + 'os.makedirs'), \ + mock.patch('functest.opnfv_tests.vnf.router.cloudify_vrouter.' + 'get_config', return_value={ + 'tenant_images': 'foo', + 'orchestrator': self.orchestrator, + 'vnf': self.vnf, + 'vnf_test_suite': '', + 'version': 'whatever'}): + + self.router_vnf = cloudify_vrouter.CloudifyVrouter() + + self.images = {'image1': 'url1', + 'image2': 'url2'} + self.details = {'orchestrator': {'status': 'PASS', 'duration': 120}, + 'vnf': {}, + 'test_vnf': {}} + + def test_prepare_missing_param(self): + with self.assertRaises(vnf.VnfPreparationException): + self.router_vnf.prepare() + + +if __name__ == "__main__": + logging.disable(logging.CRITICAL) + unittest.main(verbosity=2) diff --git a/functest/tests/unit/vnf/router/test_vrouter_base.py b/functest/tests/unit/vnf/router/test_vrouter_base.py new file mode 100644 index 00000000..def201d1 --- /dev/null +++ b/functest/tests/unit/vnf/router/test_vrouter_base.py @@ -0,0 +1,28 @@ +#!/usr/bin/env python + +# Copyright (c) 2017 Okinawa Open Laboratory and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 + +import logging +import unittest + +import mock + +from functest.opnfv_tests.vnf.router import vrouter_base + + +class VrouterOnBoardingBaseTesting(unittest.TestCase): + + def setUp(self): + with mock.patch('functest.opnfv_tests.vnf.router.cloudify_vrouter.' + 'os.makedirs'): + self.vrouter_vnf = vrouter_base.VrouterOnBoardingBase() + + +if __name__ == "__main__": + logging.disable(logging.CRITICAL) + unittest.main(verbosity=2) |