summaryrefslogtreecommitdiffstats
path: root/azure/multicloud_azure/tests/test_registry_view.py
diff options
context:
space:
mode:
Diffstat (limited to 'azure/multicloud_azure/tests/test_registry_view.py')
-rw-r--r--azure/multicloud_azure/tests/test_registry_view.py93
1 files changed, 93 insertions, 0 deletions
diff --git a/azure/multicloud_azure/tests/test_registry_view.py b/azure/multicloud_azure/tests/test_registry_view.py
new file mode 100644
index 0000000..53184a3
--- /dev/null
+++ b/azure/multicloud_azure/tests/test_registry_view.py
@@ -0,0 +1,93 @@
+# Copyright (c) 2018 Amdocs
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at:
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+
+import unittest
+import mock
+from rest_framework import status
+from multicloud_azure.swagger.views.registry.views import Registry
+from multicloud_azure.swagger.views.registry.views import UnRegistry
+
+
+from multicloud_azure.pub.msapi import extsys
+from multicloud_azure.pub.utils.restcall import AAIClient
+from multicloud_azure.pub.vim.vimapi.compute import OperateFlavors
+
+VIM_INFO = {'cloud_extra_info': 1, 'username': 'user1',
+ 'password': '1234', 'default_tenant': 't1',
+ 'cloud_region_id': 'r1'}
+
+
+class RegistryViewTest(unittest.TestCase):
+
+ def setUp(self):
+ self.reg = Registry()
+
+ def tearDown(self):
+ pass
+
+ @mock.patch.object(OperateFlavors.OperateFlavors, 'list_flavors')
+ @mock.patch.object(extsys, 'get_vim_by_id')
+ def test_reg_get_flavors_view_fail(self, mock_vim_info, mock_flavors):
+ mock_vim_info.return_value = VIM_INFO
+
+ class Flavor:
+ def __init__(self, id, name):
+ self.id = id
+ self.name = name
+
+ def to_dict(self):
+ return {"name": self.name, "id": self.id}
+
+ f1 = Flavor(1, "f1")
+ f2 = Flavor(2, "f2")
+ flavors = [f1.to_dict(), f2.to_dict()]
+ mock_flavors.return_value = flavors
+ auth = {
+ "subscription_id": "1",
+ "username": "user",
+ "password": "1234",
+ "tenant_id": "t1",
+ "region_id": "r1"}
+
+ self.assertEqual(
+ {'flavors': [{'id': 1, 'name': 'f1'},
+ {'id': 2, 'name': 'f2'}]},
+ self.reg._get_flavors(auth))
+
+ @mock.patch.object(OperateFlavors.OperateFlavors, 'list_flavors')
+ @mock.patch.object(extsys, 'get_vim_by_id')
+ def test_reg_get_flavors_view_fail2(self, mock_vim_info, mock_flavors):
+ mock_vim_info.return_value = VIM_INFO
+ mock_flavors.side_effect = Exception("something wrong")
+ self.assertRaises(Exception, self.reg._get_flavors)
+
+
+class UnRegistryViewTest(unittest.TestCase):
+
+ def setUp(self):
+ self.reg = UnRegistry()
+
+ def tearDown(self):
+ pass
+
+ @mock.patch.object(AAIClient, 'delete_vim')
+ @mock.patch.object(extsys, 'get_vim_by_id')
+ def test_reg_delete_view(self, mock_vim_info, mock_del_vim):
+ mock_vim_info.return_value = VIM_INFO
+
+ class Request:
+ def __init__(self, query_params):
+ self.query_params = query_params
+ req = Request({'k': 'v'})
+ self.assertEqual(
+ status.HTTP_204_NO_CONTENT,
+ self.reg.delete(req, "vimid").status_code)