Beispiel #1
0
    def test_flavor_update(self, nc):
        flavor_req_data = '{"name": "flavor", ' \
                          '"ram": 12, ' \
                          '"vcpus": 1, ' \
                          '"disk": 2, ' \
                          '"OS-FLV-EXT-DATA:ephemeral": 3, ' \
                          '"swap": 4' \
                          '}'

        nc.flavor_create.return_value = mock.Mock(**{
            'id': '123',
            'to_dict.return_value': {
                'id': '123',
                'name': 'flavor'
            }
        })

        flavor_data = {
            'name': 'flavor',
            'memory': 12,
            'vcpu': 1,
            'disk': 2,
            'ephemeral': 3,
            'swap': 4,
            'flavorid': '123',
            'is_public': True
        }

        request = self.mock_rest_request(body=flavor_req_data)
        response = nova.Flavor().patch(request, '123')

        self.assertStatusCode(response, 204)

        nc.flavor_delete.assert_called_once_with(request, '123')
        nc.flavor_create.assert_called_once_with(request, **flavor_data)
Beispiel #2
0
    def test_flavor_get_single_with_swap_set_to_empty(self, nc):
        request = self.mock_rest_request()
        nc.flavor_get.return_value\
            .to_dict.return_value = {'name': '1', 'swap': ''}

        response = nova.Flavor().get(request, "1")

        self.assertStatusCode(response, 200)
        self.assertEqual(to_json(response.content.decode('utf-8')),
                         to_json('{"name": "1", "swap": 0}'))
Beispiel #3
0
    def test_flavor_update_with_access_list(self):
        flavor_req_data = '{"name": "flavor", ' \
                          '"ram": 12, ' \
                          '"vcpus": 1, ' \
                          '"disk": 2, ' \
                          '"OS-FLV-EXT-DATA:ephemeral": 3, ' \
                          '"swap": 4, ' \
                          '"flavor_access": [{"id":"1", "name":"test"}]' \
                          '}'

        self.mock_flavor_get_extras.return_value = {}
        self.mock_flavor_create.return_value = mock.Mock(**{
            'id': '1234',
            'to_dict.return_value': {
                'id': '1234',
                'name': 'flavor'
            }
        })
        self.mock_flavor_delete.return_value = None
        # A list of FlavorAccess object is returned but it is actually unused.
        self.mock_add_tenant_to_flavor.return_value = [
            mock.sentinel.flavor_access1,
        ]

        flavor_data = {
            'name': 'flavor',
            'memory': 12,
            'vcpu': 1,
            'disk': 2,
            'ephemeral': 3,
            'swap': 4,
            'flavorid': '123',
            'is_public': False
        }

        request = self.mock_rest_request(body=flavor_req_data)
        response = nova.Flavor().patch(request, '123')

        self.assertStatusCode(response, 204)

        self.mock_flavor_get_extras.assert_called_once_with(request,
                                                            '123',
                                                            raw=True)
        self.mock_flavor_delete.assert_called_once_with(request, '123')
        self.mock_flavor_create.assert_called_once_with(request, **flavor_data)
        self.mock_add_tenant_to_flavor.assert_called_once_with(
            request, '1234', '1')
Beispiel #4
0
    def test_flavor_get_single_with_access_list(self, nc):
        request = self.mock_rest_request(GET={'get_access_list': 'tRuE'})
        nc.flavor_get.return_value.to_dict.return_value = {'name': '1'}
        nc.flavor_get.return_value.is_public = False

        nc.flavor_access_list.return_value = [
            mock.Mock(**{'tenant_id': '11'}),
            mock.Mock(**{'tenant_id': '22'}),
        ]

        response = nova.Flavor().get(request, "1")

        self.assertStatusCode(response, 200)
        self.assertEqual(to_json(response.content.decode('utf-8')),
                         to_json('{"access-list": ["11", "22"], "name": "1"}'))

        nc.flavor_get.assert_called_once_with(request, "1", get_extras=False)
    def _test_flavor_get_single(self, nc, get_extras):
        if get_extras:
            request = self.mock_rest_request(GET={'get_extras': 'tRuE'})
        elif get_extras is None:
            request = self.mock_rest_request()
            get_extras = False
        else:
            request = self.mock_rest_request(GET={'get_extras': 'fAlsE'})
        nc.flavor_get.return_value.to_dict.return_value = {'name': '1'}

        response = nova.Flavor().get(request, "1")
        self.assertStatusCode(response, 200)
        if get_extras:
            self.assertEqual(response.content, '{"extras": {}, "name": "1"}')
        else:
            self.assertEqual(response.content, '{"name": "1"}')
        nc.flavor_get.assert_called_once_with(request, "1",
                                              get_extras=get_extras)
Beispiel #6
0
 def test_flavor_delete(self, nc):
     request = self.mock_rest_request()
     nova.Flavor().delete(request, "1")
     nc.flavor_delete.assert_called_once_with(request, "1")
Beispiel #7
0
 def test_flavor_delete(self):
     self.mock_flavor_delete.return_value = None
     request = self.mock_rest_request()
     nova.Flavor().delete(request, "1")
     self.mock_flavor_delete.assert_called_once_with(request, "1")