Source code for volume.admin.test_group_type_specs

# Copyright 2017 FiberHome Telecommunication Technologies CO.,LTD
# All Rights Reserved.
#
#    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. See the
#    License for the specific language governing permissions and limitations
#    under the License.

from tempest.api.volume import base
from tempest.lib import decorators
from tempest.lib import exceptions as lib_exc


[docs]class GroupTypeSpecsTest(base.BaseVolumeAdminTest): """Test group type specs""" volume_min_microversion = '3.11' volume_max_microversion = 'latest'
[docs] @decorators.idempotent_id('bb4e30d0-de6e-4f4d-866c-dcc48d023b4e') def test_group_type_specs_create_show_update_list_delete(self): """Test create/show/update/list/delete group type specs""" # Create new group type group_type = self.create_group_type() # Create new group type specs create_specs = { "key1": "value1", "key2": "value2" } body = self.admin_group_types_client.create_or_update_group_type_specs( group_type['id'], create_specs)['group_specs'] self.assertEqual(create_specs, body) # Create a new group type spec and update an existing group type spec update_specs = { "key2": "value2-updated", "key3": "value3" } body = self.admin_group_types_client.create_or_update_group_type_specs( group_type['id'], update_specs)['group_specs'] self.assertEqual(update_specs, body) # Show specified item of group type specs spec_keys = ['key2', 'key3'] for key in spec_keys: body = self.admin_group_types_client.show_group_type_specs_item( group_type['id'], key) self.assertIn(key, body) self.assertEqual(update_specs[key], body[key]) # Update specified item of group type specs update_key = 'key3' update_spec = {update_key: "value3-updated"} body = self.admin_group_types_client.update_group_type_specs_item( group_type['id'], update_key, update_spec) self.assertEqual(update_spec, body) # List all group type specs that created or updated above list_specs = {} list_specs.update(create_specs) list_specs.update(update_specs) list_specs.update(update_spec) body = self.admin_group_types_client.list_group_type_specs( group_type['id'])['group_specs'] self.assertEqual(list_specs, body) # Delete specified item of group type specs delete_keys = ['key1', 'key2', 'key3'] for it in delete_keys: self.admin_group_types_client.delete_group_type_specs_item( group_type['id'], it) self.assertRaises( lib_exc.NotFound, self.admin_group_types_client.show_group_type_specs_item, group_type['id'], it)