Source code for stepler.cinder.tests.test_edit_volume

"""
------------
Volume tests
------------
"""

#    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.

import pytest

from stepler import config
from stepler.third_party import utils

new_volume_name = next(utils.generate_ids('volume'))


@pytest.mark.idempotent_id('849ab480-6d56-4efa-bd43-e9e615626368',
                           new_volume_name='')
@pytest.mark.idempotent_id('2df43a46-72b0-4d25-bf68-13d07776af7c',
                           new_volume_name=new_volume_name)
@pytest.mark.parametrize('new_volume_name', ['', new_volume_name])
[docs]def test_edit_volume_name(volume, volume_steps, new_volume_name): """**Scenario:** Verify ability to change volume name. **Setup:** #. Create volume **Steps:** #. Change volume name **Teardown:** #. Delete volume """ volume_steps.update_volume(volume, new_name=new_volume_name)
new_volume_description = next(utils.generate_ids('description')) @pytest.mark.idempotent_id('6e470fea-fd6b-4eac-a3e3-d718e9c703dd', new_volume_description='') @pytest.mark.idempotent_id('1c5ef0e5-64ac-43d5-b9f2-97cb4ad62e95', new_volume_description=new_volume_description) @pytest.mark.parametrize('new_volume_description', ['', new_volume_description])
[docs]def test_edit_volume_description(volume, volume_steps, new_volume_description): """**Scenario:** Verify ability to change volume description. **Setup:** #. Create volume **Steps:** #. Change volume description **Teardown:** #. Delete volume """ volume_steps.update_volume(volume, new_description=new_volume_description)
@pytest.mark.idempotent_id('f9561bef-2455-4274-8926-c2d6670752e1')
[docs]def test_negative_edit_volume_name_too_long_name(volume, volume_steps): """**Scenario:** Verify inability to change volume name to name >255 chars. **Setup:** #. Create volume **Steps:** #. Try to change volume name to name longer than 255 characters **Teardown:** #. Delete volume """ volume_new_name = next(utils.generate_ids(length=256)) volume_steps.check_volume_update_failed(volume, new_name=volume_new_name)
@pytest.mark.idempotent_id('7cb4af1e-2228-43ca-bc78-719d85fb0b2a')
[docs]def test_volume_enable_bootable(volume, volume_steps): """**Scenario:** Verify ability to enable volume bootable status. **Setup:** #. Create volume **Steps:** #. Enable volume bootable status **Teardown:** #. Delete volume """ volume_steps.set_volume_bootable(volume, True)
@pytest.mark.idempotent_id('515ff471-e814-4074-8026-680a2131942c')
[docs]def test_volume_disable_bootable(glance_steps, volume_steps): """**Scenario:** Verify ability to disable volume bootable status. **Steps:** #. Create image #. Create volume from image #. Disable volume bootable status **Teardown:** #. Delete volume #. Delete image """ image = glance_steps.create_images( utils.get_file_path(config.UBUNTU_ISO_URL))[0] volume = volume_steps.create_volumes(image=image)[0] volume_steps.set_volume_bootable(volume, False)