summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBin Sun <bins@vmware.com>2017-09-19 11:16:58 +0800
committerBin Sun <bins@vmware.com>2017-09-19 11:18:22 +0800
commite1fe7f3dbbb8e02c5942674e9ec6ccfaf2870124 (patch)
tree698de781795ab53e25ecca7000c4f0ea8491d63e
parente388cd36954e84ca1bf912ac09ec982c0a2f2e53 (diff)
Fix some callback errors may cause UT issue
Change-Id: I05d8ca3dfece0b0cc02488556afddd42b0c8df0c Issue-Id: MULTICLOUD-91 Signed-off-by: Bin Sun <bins@vmware.com>
-rw-r--r--vio/vio/tests/test_flavor_view.py46
-rw-r--r--vio/vio/tests/test_limits_view.py7
-rw-r--r--vio/vio/tests/test_server_view.py27
-rw-r--r--vio/vio/tests/tests_registry_view.py61
4 files changed, 96 insertions, 45 deletions
diff --git a/vio/vio/tests/test_flavor_view.py b/vio/vio/tests/test_flavor_view.py
index ad06f37..a344359 100644
--- a/vio/vio/tests/test_flavor_view.py
+++ b/vio/vio/tests/test_flavor_view.py
@@ -35,12 +35,12 @@ class FlavorViewTest(unittest.TestCase):
@mock.patch.object(nova_utils, 'flavor_formatter')
@mock.patch.object(OperateFlavors, 'find_flavor')
+ @mock.patch.object(OperateFlavors, 'get_flavor')
@mock.patch.object(extsys, 'get_vim_by_id')
- def test_flavor_list_view_fail(self, mock_vim_info,
+ def test_flavor_list_view_fail(self, mock_vim_info, mock_get_flavor,
mock_find_flavor, mock_formatter):
mock_vim_info.return_value = VIM_INFO
- mock_formatter.return_value = {"vimName": "name", "vimId": 1}
class Request:
def __init__(self, query_params, body, method):
@@ -48,12 +48,30 @@ class FlavorViewTest(unittest.TestCase):
self.body = body
self.method = method
req = Request({'k': 'v'},
- json.dumps({'name': 'flavor-name', 'id': 1}), "POST")
+ json.dumps({'name': 'flavor-name', 'flavor_id': 1}),
+ "POST")
self.assertEqual(
status.HTTP_500_INTERNAL_SERVER_ERROR,
self.fsv.post(req, "vimid", "tenantid").status_code)
@mock.patch.object(nova_utils, 'flavor_formatter')
+ @mock.patch.object(OperateFlavors, 'get_flavor')
+ @mock.patch.object(extsys, 'get_vim_by_id')
+ def test_flavor_get_fail(self, mock_vim_info,
+ mock_get_flavor, mock_formatter):
+ mock_vim_info.return_value = VIM_INFO
+
+ mock_formatter.return_value = {"id": 1, "name": "nova"}
+
+ class Request:
+ def __init__(self, query_params):
+ self.query_params = query_params
+ req = Request({'k': 'v'})
+ self.assertEqual(
+ status.HTTP_500_INTERNAL_SERVER_ERROR,
+ self.fv.get(req, "vimid", "tenantid", "flavorid").status_code)
+
+ @mock.patch.object(nova_utils, 'flavor_formatter')
@mock.patch.object(OperateFlavors, 'list_flavors')
@mock.patch.object(extsys, 'get_vim_by_id')
def test_flavors_get_fail(self, mock_vim_info,
@@ -102,22 +120,6 @@ class FlavorViewTest(unittest.TestCase):
status.HTTP_200_OK,
self.fv.get(req, "vimid", "tenantid", "flavorid").status_code)
- @mock.patch.object(nova_utils, 'flavor_formatter')
- @mock.patch.object(extsys, 'get_vim_by_id')
- def test_flavor_get_fail(self, mock_vim_info, mock_formatter):
- mock_vim_info.return_value = VIM_INFO
- of = OperateFlavors()
- of.get_flavor = mock.Mock([])
- mock_formatter.return_value = {"id": 1, "name": "nova"}
-
- class Request:
- def __init__(self, query_params):
- self.query_params = query_params
- req = Request({'k': 'v'})
- self.assertEqual(
- status.HTTP_500_INTERNAL_SERVER_ERROR,
- self.fv.get(req, "vimid", "tenantid", "flavorid").status_code)
-
@mock.patch.object(OperateFlavors, 'delete_flavor')
@mock.patch.object(extsys, 'get_vim_by_id')
def test_flavor_delete_view(self, mock_vim_info, mock_delete_flavor):
@@ -141,12 +143,12 @@ class FlavorViewTest(unittest.TestCase):
status.HTTP_204_NO_CONTENT,
self.fv.delete(req, "vimid", "tenantid", "flavorid").status_code)
+ @mock.patch.object(OperateFlavors, 'delete_flavor')
@mock.patch.object(extsys, 'get_vim_by_id')
- def test_flavor_delete_view_fail(self, mock_vim_info):
+ def test_flavor_delete_view_fail(self, mock_vim_info, mock_delete_flavor):
mock_vim_info.return_value = VIM_INFO
- of = OperateFlavors()
- of.delete_flavor = mock.Mock([])
+ mock_delete_flavor.side_effect = TypeError("wrong type")
class Request:
def __init__(self, query_params, method):
diff --git a/vio/vio/tests/test_limits_view.py b/vio/vio/tests/test_limits_view.py
index 953f3b5..6bfb67e 100644
--- a/vio/vio/tests/test_limits_view.py
+++ b/vio/vio/tests/test_limits_view.py
@@ -51,11 +51,12 @@ class LimitsViewTest(unittest.TestCase):
self.lv.get(req, "vimid", "tenantid").status_code)
@mock.patch.object(nova_utils, 'server_limits_formatter')
+ @mock.patch.object(OperateLimits, 'get_limits')
@mock.patch.object(extsys, 'get_vim_by_id')
- def test_server_get_limit_fail(self, mock_vim_info, mock_formatter):
+ def test_server_get_limit_fail(self, mock_vim_info,
+ mock_limits, mock_formatter):
mock_vim_info.return_value = VIM_INFO
- ol = OperateLimits()
- ol.get_limits = mock.Mock({})
+ mock_limits.side_effect = KeyError('wrong type')
mock_formatter.return_value = {"name": "name1", "project_id": 1}
class Request:
diff --git a/vio/vio/tests/test_server_view.py b/vio/vio/tests/test_server_view.py
index 236272f..f70fc80 100644
--- a/vio/vio/tests/test_server_view.py
+++ b/vio/vio/tests/test_server_view.py
@@ -87,26 +87,12 @@ class ServerViewTest(unittest.TestCase):
self.assertEqual(status.HTTP_500_INTERNAL_SERVER_ERROR,
self.lsv.get(req, "vimid", "tenantid").status_code)
- @mock.patch.object(nova_utils, 'server_formatter')
- @mock.patch.object(OperateServers, 'list_servers')
+ @mock.patch.object(OperateServers, 'get_server')
@mock.patch.object(extsys, 'get_vim_by_id')
- def test_server_get_view_fail(self, mock_vim_info,
- mock_servers, mock_formatter):
+ def test_server_get_view_fail(self, mock_vim_info, mock_servers):
mock_vim_info.return_value = VIM_INFO
- class Server:
- def __init__(self, id, project_id, name, availability_zone):
- self.id = id
- self.project_id = project_id
- self.name = name
- self.availability_zone = availability_zone
- s1 = Server(1, "p1", "name1", "nova")
- s2 = Server(2, "p2", "name2", "nova")
- servers = [s1, s2]
- mock_servers.return_value = servers
- os = OperateServers()
- os.list_server_interfaces = mock.Mock(return_value=[])
- mock_formatter.return_value = servers
+ mock_servers.side_effect = TypeError('wrong type')
class Request:
def __init__(self, query_params):
@@ -136,16 +122,17 @@ class ServerViewTest(unittest.TestCase):
status.HTTP_204_NO_CONTENT,
self.gsv.delete(req, "vimid", "tenantid", "serverid").status_code)
+ @mock.patch.object(OperateServers, 'delete_server')
@mock.patch.object(extsys, 'get_vim_by_id')
- def test_delete_server_view_fail(self, mock_vim_info):
+ def test_delete_server_view_fail(self, mock_vim_info, mock_delete_server):
mock_vim_info.return_value = VIM_INFO
- os = OperateServers()
- os.delete_server = mock.Mock(return_value=[])
+ mock_delete_server.side_effect = TypeError("wrong type")
class Request:
def __init__(self, query_params):
self.query_params = query_params
req = Request({'k': 'v'})
+
self.assertEqual(
status.HTTP_500_INTERNAL_SERVER_ERROR,
self.gsv.delete(req, "vimid", "tenantid", "serverid").status_code)
diff --git a/vio/vio/tests/tests_registry_view.py b/vio/vio/tests/tests_registry_view.py
index 03999c3..9013332 100644
--- a/vio/vio/tests/tests_registry_view.py
+++ b/vio/vio/tests/tests_registry_view.py
@@ -18,6 +18,7 @@ from vio.swagger.views.registry.views import Registry
from vio.pub.msapi import extsys
from vio.pub.vim.vimapi.keystone.OperateTenant import OperateTenant
+from vio.pub.vim.vimapi.glance.OperateImage import OperateImage
VIM_INFO = {'vimId': 1, 'name': 'name1', 'userName': 'user1',
'password': '1234', 'url': 'abc', 'tenant': 't1'}
@@ -52,3 +53,63 @@ class RegistryViewTest(unittest.TestCase):
self.assertEqual(
status.HTTP_200_OK,
self.reg.delete(req, "vimid").status_code)
+
+ @mock.patch.object(OperateTenant, 'get_projects')
+ @mock.patch.object(extsys, 'get_vim_by_id')
+ def test_reg_get_tenants_view(self, mock_vim_info, mock_projects):
+ mock_vim_info.return_value = VIM_INFO
+
+ class Project:
+ def __init__(self, id, name):
+ self.id = id
+ self.name = name
+
+ def to_dict(self):
+ return {"name": self.name, "id": self.id}
+ p1 = Project(1, "p1")
+ p2 = Project(2, "p2")
+ projects = [p1, p2]
+ mock_projects.return_value = projects
+
+ self.assertEqual(
+ {'tenants': [{'id': 1, 'name': 'p1'}, {'id': 2, 'name': 'p2'}]},
+ self.reg._get_tenants("vimid"))
+
+ @mock.patch.object(OperateTenant, 'get_projects')
+ @mock.patch.object(extsys, 'get_vim_by_id')
+ def test_reg_get_tenants_view_fail(self, mock_vim_info, mock_projects):
+ mock_vim_info.return_value = VIM_INFO
+
+ mock_projects.side_effect = TypeError("wrong type")
+
+ self.assertEqual(
+ status.HTTP_500_INTERNAL_SERVER_ERROR,
+ self.reg._get_tenants("vimid").status_code)
+
+ @mock.patch.object(OperateImage, 'get_vim_images')
+ @mock.patch.object(extsys, 'get_vim_by_id')
+ def test_reg_get_images_view(self, mock_vim_info, mock_images):
+ mock_vim_info.return_value = VIM_INFO
+
+ class Image:
+ def __init__(self, id, name):
+ self.id = id
+ self.name = name
+
+ def to_dict(self):
+ return {"name": self.name, "id": self.id}
+ i1 = Image(1, "i1")
+ i2 = Image(2, "i2")
+ images = [i1, i2]
+ mock_images.return_value = images
+
+ class Auth:
+ def __init__(self, id):
+ self.id = id
+
+ def get(self, username):
+ self.username = username
+ a = Auth(1)
+ self.assertEqual(
+ {'images': [{'id': 1, 'name': 'i1'}, {'id': 2, 'name': 'i2'}]},
+ self.reg._get_images(a))