Move create_image_with_data to BaseVolumeTest
Move this code to a base class so it can be used in more tests. Change-Id: If8bd605ec75c8ddf8a85bff4e32ceb435aa35b85
This commit is contained in:
parent
a259e8d43e
commit
5a5e1bf665
|
@ -13,6 +13,8 @@
|
|||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
import io
|
||||
|
||||
from tempest.common import compute
|
||||
from tempest.common import waiters
|
||||
from tempest import config
|
||||
|
@ -158,6 +160,29 @@ class BaseVolumeTest(api_version_utils.BaseMicroversionTest,
|
|||
body['id'])
|
||||
return body
|
||||
|
||||
@classmethod
|
||||
def create_image_with_data(cls, **kwargs):
|
||||
# we do this as a class method so we can use the
|
||||
# addClassResourceCleanup functionality of tempest.test.BaseTestCase
|
||||
images_client = cls.os_primary.image_client_v2
|
||||
if 'min_disk' not in kwargs:
|
||||
kwargs['min_disk'] = 1
|
||||
response = images_client.create_image(**kwargs)
|
||||
image_id = response['id']
|
||||
cls.addClassResourceCleanup(
|
||||
images_client.wait_for_resource_deletion, image_id)
|
||||
cls.addClassResourceCleanup(
|
||||
test_utils.call_and_ignore_notfound_exc,
|
||||
images_client.delete_image, image_id)
|
||||
|
||||
# upload "data" to image
|
||||
image_file = io.BytesIO(data_utils.random_bytes(size=1024))
|
||||
images_client.store_image_file(image_id, image_file)
|
||||
|
||||
waiters.wait_for_image_status(images_client, image_id, 'active')
|
||||
image = images_client.show_image(image_id)
|
||||
return image
|
||||
|
||||
|
||||
class BaseVolumeAdminTest(BaseVolumeTest):
|
||||
"""Base test case class for all Volume Admin API tests."""
|
||||
|
|
|
@ -10,12 +10,7 @@
|
|||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
import io
|
||||
|
||||
from tempest.common import waiters
|
||||
from tempest import config
|
||||
from tempest.lib.common.utils import data_utils
|
||||
from tempest.lib.common.utils import test_utils
|
||||
from tempest.lib import decorators
|
||||
|
||||
from cinder_tempest_plugin.api.volume import base
|
||||
|
@ -32,29 +27,6 @@ class VolumeAndVolumeTypeFromImageTest(base.BaseVolumeAdminTest):
|
|||
if not CONF.service_available.glance:
|
||||
raise cls.skipException("Glance service is disabled")
|
||||
|
||||
@classmethod
|
||||
def create_image_with_data(cls, **kwargs):
|
||||
# we do this as a class method so we can use the
|
||||
# addClassResourceCleanup functionality of tempest.test.BaseTestCase
|
||||
images_client = cls.os_primary.image_client_v2
|
||||
if 'min_disk' not in kwargs:
|
||||
kwargs['min_disk'] = 1
|
||||
response = images_client.create_image(**kwargs)
|
||||
image_id = response['id']
|
||||
cls.addClassResourceCleanup(
|
||||
images_client.wait_for_resource_deletion, image_id)
|
||||
cls.addClassResourceCleanup(
|
||||
test_utils.call_and_ignore_notfound_exc,
|
||||
images_client.delete_image, image_id)
|
||||
|
||||
# upload "data" to image
|
||||
image_file = io.BytesIO(data_utils.random_bytes(size=1024))
|
||||
images_client.store_image_file(image_id, image_file)
|
||||
|
||||
waiters.wait_for_image_status(images_client, image_id, 'active')
|
||||
image = images_client.show_image(image_id)
|
||||
return image
|
||||
|
||||
@decorators.idempotent_id('6e9266ff-a917-4dd5-aa4a-c36e59e7a2a6')
|
||||
def test_create_from_image_with_volume_type_image_property(self):
|
||||
"""Verify that the cinder_img_volume_type image property works.
|
||||
|
|
Loading…
Reference in New Issue