Merge "add unitest for api of resource providers inventories"

This commit is contained in:
Zuul 2021-02-25 09:16:11 +00:00 committed by Gerrit Code Review
commit a1d2c90ef8
2 changed files with 89 additions and 0 deletions

View File

@ -81,3 +81,29 @@ class ResourceProvidersClient(base_placement_client.BasePlacementClient):
self.expected_success(200, resp.status)
body = json.loads(body)
return rest_client.ResponseBody(resp, body)
def update_resource_providers_inventories(self, rp_uuid, **kwargs):
"""Update resource providers inventories.
For full list of available parameters, please refer to the official
API reference:
https://docs.openstack.org/api-ref/placement/#update-resource-provider-inventories
"""
url = '/resource_providers/{}/inventories'.format(rp_uuid)
data = json.dumps(kwargs)
resp, body = self.put(url, data)
self.expected_success(200, resp.status)
body = json.loads(body)
return rest_client.ResponseBody(resp, body)
def delete_resource_providers_inventories(self, rp_uuid):
"""Delete resource providers inventories.
For full list of available parameters, please refer to the official
API reference:
https://docs.openstack.org/api-ref/placement/#delete-resource-provider-inventories
"""
url = '/resource_providers/{}/inventories'.format(rp_uuid)
resp, body = self.delete(url)
self.expected_success(204, resp.status)
return rest_client.ResponseBody(resp, body)

View File

@ -48,6 +48,43 @@ class TestResourceProvidersClient(base.BaseServiceTest):
FAKE_RESOURCE_PROVIDER_AGGREGATES = {
'aggregates': [FAKE_AGGREGATE_UUID]
}
FAKE_RESOURCE_UPDATE_INVENTORIES_RESPONSE = {
"inventories": {
"MEMORY_MB": {
"allocation_ratio": 2.0,
"max_unit": 16,
"min_unit": 1,
"reserved": 0,
"step_size": 4,
"total": 128
},
"VCPU": {
"allocation_ratio": 10.0,
"max_unit": 2147483647,
"min_unit": 1,
"reserved": 2,
"step_size": 1,
"total": 64
}
},
"resource_provider_generation": 2
}
FAKE_RESOURCE_UPDATE_INVENTORIES_REQUEST = {
"inventories": {
"MEMORY_MB": {
"allocation_ratio": 2.0,
"max_unit": 16,
"step_size": 4,
"total": 128
},
"VCPU": {
"allocation_ratio": 10.0,
"reserved": 2,
"total": 64
}
},
"resource_provider_generation": 1
}
def setUp(self):
super(TestResourceProvidersClient, self).setUp()
@ -102,6 +139,32 @@ class TestResourceProvidersClient(base.BaseServiceTest):
def test_list_resource_provider_inventories_with_bytes_body(self):
self._test_list_resource_provider_inventories(bytes_body=True)
def _test_update_resource_providers_inventories(self, bytes_body=False):
self.check_service_client_function(
self.client.update_resource_providers_inventories,
'tempest.lib.common.rest_client.RestClient.put',
self.FAKE_RESOURCE_UPDATE_INVENTORIES_RESPONSE,
to_utf=bytes_body,
status=200,
rp_uuid=self.FAKE_RESOURCE_PROVIDER_UUID,
**self.FAKE_RESOURCE_UPDATE_INVENTORIES_REQUEST
)
def test_update_resource_providers_inventories_with_str_body(self):
self._test_update_resource_providers_inventories()
def test_update_resource_providers_inventories_with_bytes_body(self):
self._test_update_resource_providers_inventories(bytes_body=True)
def test_delete_resource_providers_inventories(self):
self.check_service_client_function(
self.client.delete_resource_providers_inventories,
'tempest.lib.common.rest_client.RestClient.delete',
{},
status=204,
rp_uuid=self.FAKE_RESOURCE_PROVIDER_UUID,
)
def _test_list_resource_provider_aggregates(self, bytes_body=False):
self.check_service_client_function(
self.client.list_resource_provider_aggregates,