From 353eae31678ff2c65ce224869da1a8cd6d7e5824 Mon Sep 17 00:00:00 2001 From: Mihail Trica Date: Wed, 1 Apr 2020 13:12:16 +0200 Subject: [PATCH] Add test suite Measurements For Metric ported from robot framework Added test suite Measurements For Metric Story: 2007472 Task: 39172 Change-Id: I3ad46d658164e4bd480b234668fb01fa0f849a6a Signed-off-by: Mihail-Laurentiu Trica --- .../test_update_image_name_ram_size.py | 115 ++++++++++++++++++ 1 file changed, 115 insertions(+) create mode 100644 automated-pytest-suite/testcases/sanity/sanity_openstack/test_update_image_name_ram_size.py diff --git a/automated-pytest-suite/testcases/sanity/sanity_openstack/test_update_image_name_ram_size.py b/automated-pytest-suite/testcases/sanity/sanity_openstack/test_update_image_name_ram_size.py new file mode 100644 index 0000000..ea44457 --- /dev/null +++ b/automated-pytest-suite/testcases/sanity/sanity_openstack/test_update_image_name_ram_size.py @@ -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"