summaryrefslogtreecommitdiffstats
path: root/azure/multicloud_azure/tests/test_flavor_view.py
blob: d946ecef54d00e41e9b79f90de1609262bba1ae9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
# 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 multicloud_azure.pub.msapi import extsys
from multicloud_azure.pub.vim.vimapi.compute import OperateFlavors
from multicloud_azure.swagger import compute_utils
from multicloud_azure.swagger.views.flavor.views import FlavorsView
from rest_framework import status

VIM_INFO = {'cloud_extra_info': 1, 'username': 'user1',
            'password': '1234', 'default_tenant': 't1',
            'cloud_region_id': 'r1'}


class FlavorViewTest(unittest.TestCase):

    def setUp(self):
        self.fsv = FlavorsView()

    def tearDown(self):
        pass

    @mock.patch.object(compute_utils, 'convert_vmsize_aai')
    @mock.patch.object(OperateFlavors.OperateFlavors, 'list_flavors')
    @mock.patch.object(extsys, 'get_vim_by_id')
    def test_flavors_get_fail(self, mock_vim_info,
                              mock_flavors, mock_formatter):
        mock_vim_info.return_value = VIM_INFO

        class Flavor:
            def __init__(self, id, name):
                self.id = id
                self.name = name
        f1 = Flavor(1, "f1")
        f2 = Flavor(2, "f2")
        flavors = [f1, f2]
        mock_flavors.return_value = flavors
        mock_formatter.return_value = flavors

        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.fsv.get(req, "vimid").status_code)

    def test_vmsize_aai(self):
        expected = {
            'name': "abc",
            'vcpus': 1,
            'ram': 123,
            'disk': 1234
        }

        class VmSize:
            def __init__(self, name, number_of_cores, memory_in_mb,
                         os_disk_size_in_mb):
                self.name = name
                self.number_of_cores = number_of_cores
                self.memory_in_mb = memory_in_mb
                self.os_disk_size_in_mb = os_disk_size_in_mb
        v1 = VmSize("abc", 1, 123, 1234)
        self.assertEquals(expected, compute_utils.convert_vmsize_aai(v1))