Merge "Add test suite Measurements For Metric ported from robot framework"

This commit is contained in:
Zuul 2020-04-23 04:05:57 +00:00 committed by Gerrit Code Review
commit 212be967e2
1 changed files with 115 additions and 0 deletions

View File

@ -0,0 +1,115 @@
###
#
# Copyright (c) 2020 Intel Corporation
#
# SPDX-License-Identifier: Apache-2.0
#
# Test measurements for metric
# Author(s): Mihail-Laurentiu Trica mihai-laurentiu.trica@intel.com
###
import os
from pytest import mark, fixture
from consts.stx import GuestImages
from keywords import glance_helper
VM_IDS = list()
cirros_params = {
"image_name": "cirros",
"image_name_tmp": "cirros-tmp",
"image_file": os.path.join(GuestImages.DEFAULT["image_dir"], "cirros-0.4.0-x86_64-disk.img"),
"disk_format": "qcow2",
"flavor_disk": 10,
"flavor_ram": 20
}
second_update = None
# Create Image For Metrics
@fixture(scope="module")
@mark.robotsanity
def create_image_for_metrics():
"""
Create an image that will be used by tests in the suite (with or without properties)
to be used to launch Cirros instances
"""
image_id = glance_helper.create_image(
name=cirros_params['image_name'],
source_image_file=cirros_params['image_file'],
disk_format=cirros_params['disk_format'],
cleanup="module")[1]
return image_id
# Update image name
@mark.robotsanity
def test_update_image_name(create_image_for_metrics):
"""
Test for Update image name
"""
global second_update
# This workaround is needed because it seems that the output is not a string, but a list
# and needs to be converted to a string
created_at = glance_helper.get_image_values(create_image_for_metrics, "created_at")
# Set temporary image name
test_image_name = glance_helper.set_image(
image=create_image_for_metrics,
new_name=cirros_params['image_name_tmp'])[1]
# ToDo: modify glance_helper.set_image to add imageID as an output
test_image_name = test_image_name.replace("Image ", "")
test_image_name = test_image_name.replace(" is successfully modified", "")
first_update = glance_helper.get_image_values(test_image_name, "updated_at")
assert created_at != first_update, "date of first update should be different" \
" than date of creation time"
# Check temporary image name
image_exists = glance_helper.image_exists(
image=cirros_params['image_name_tmp'],
image_val="Name")
assert image_exists is True, "Image name has not been changed to {}"\
.format(cirros_params['image_name_tmp'])
# Set original image name
test_image_name = glance_helper.set_image(
image=create_image_for_metrics,
new_name=cirros_params['image_name'])[1]
# ToDo: modify glance_helper.set_image to add imageID as an output
test_image_name = test_image_name.replace("Image ", "")
test_image_name = test_image_name.replace(" is successfully modified", "")
second_update = glance_helper.get_image_values(test_image_name, "updated_at")
assert first_update != second_update, "date of second update should be different" \
"than date of first update"
# Check image name is back to original name
image_exists = glance_helper.image_exists(
image=cirros_params['image_name'],
image_val="Name")
assert image_exists is True, "Image name has not been changed back to {}".\
format(cirros_params['image_name'])
# Update Image Disk Ram Size
@mark.robotsanity
def test_update_image_disk_ram_size(create_image_for_metrics):
"""
Test for Update image disk and RAM size
"""
# Set min disk size
test_image_name = glance_helper.set_image(
image=create_image_for_metrics,
min_disk=10)[1]
# ToDo: modify glance_helper.set_image to add imageID as an output
test_image_name = test_image_name.replace("Image ", "")
test_image_name = test_image_name.replace(" is successfully modified", "")
third_update = glance_helper.get_image_values(test_image_name, "updated_at")
assert second_update != third_update, "date of third update should be different" \
"than date of second update"
# Set min ram size
test_image_name = glance_helper.set_image(
image=create_image_for_metrics,
min_ram=20)[1]
# ToDo: modify glance_helper.set_image to add imageID as an output
test_image_name = test_image_name.replace("Image ", "")
test_image_name = test_image_name.replace(" is successfully modified", "")
forth_update = glance_helper.get_image_values(test_image_name, "updated_at")
assert third_update != forth_update, "date of forth update should be different " \
"than date of third update"