diff options
Diffstat (limited to 'azure/multicloud_azure/tests/test_registry_view.py')
-rw-r--r-- | azure/multicloud_azure/tests/test_registry_view.py | 93 |
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) |