Fix error when test setup fails to produce the required metrics
Cannot use method fail() in a class method Added quick fail to two other test groups Added some detail to setup failure messages Change-Id: I47deae35feea1b50916d8820334f30e2bb8f2cba
This commit is contained in:
@@ -36,6 +36,7 @@ class TestAlarmsStateHistory(base.BaseMonascaTest):
|
|||||||
cls.monasca_client.create_alarm_definitions(alarm_definition)
|
cls.monasca_client.create_alarm_definitions(alarm_definition)
|
||||||
|
|
||||||
# create some metrics to prime the system and create three alarms
|
# create some metrics to prime the system and create three alarms
|
||||||
|
num_transitions = 0
|
||||||
for i in xrange(60):
|
for i in xrange(60):
|
||||||
metric = helpers.create_metric()
|
metric = helpers.create_metric()
|
||||||
cls.monasca_client.create_metrics(metric)
|
cls.monasca_client.create_metrics(metric)
|
||||||
@@ -43,8 +44,12 @@ class TestAlarmsStateHistory(base.BaseMonascaTest):
|
|||||||
list_alarms_state_history()
|
list_alarms_state_history()
|
||||||
elements = response_body['elements']
|
elements = response_body['elements']
|
||||||
if len(elements) >= MIN_HISTORY:
|
if len(elements) >= MIN_HISTORY:
|
||||||
break
|
return
|
||||||
time.sleep(5)
|
else:
|
||||||
|
num_transitions = len(elements)
|
||||||
|
time.sleep(1)
|
||||||
|
|
||||||
|
assert False, "Required {} alarm state transitions, but found {}".format(MIN_HISTORY, num_transitions)
|
||||||
|
|
||||||
# @test.attr(type="gate")
|
# @test.attr(type="gate")
|
||||||
# def test_list_alarms_state_history(self):
|
# def test_list_alarms_state_history(self):
|
||||||
|
@@ -51,7 +51,7 @@ class TestMetricsNames(base.BaseMonascaTest):
|
|||||||
return
|
return
|
||||||
time.sleep(constants.RETRY_WAIT_SECS)
|
time.sleep(constants.RETRY_WAIT_SECS)
|
||||||
|
|
||||||
cls.fail('Unable to initialize metrics')
|
assert False, 'Unable to initialize metrics'
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def resource_cleanup(cls):
|
def resource_cleanup(cls):
|
||||||
|
@@ -24,6 +24,7 @@ from tempest import test
|
|||||||
from tempest_lib import exceptions
|
from tempest_lib import exceptions
|
||||||
|
|
||||||
NUM_MEASUREMENTS = 100
|
NUM_MEASUREMENTS = 100
|
||||||
|
MIN_REQUIRED_MEASUREMENTS = 2
|
||||||
WAIT_TIME = 30
|
WAIT_TIME = 30
|
||||||
metric_value1 = 1.23
|
metric_value1 = 1.23
|
||||||
metric_value2 = 4.56
|
metric_value2 = 4.56
|
||||||
@@ -59,20 +60,24 @@ class TestStatistics(base.BaseMonascaTest):
|
|||||||
start_time_iso = helpers.timestamp_to_iso(cls._start_timestamp)
|
start_time_iso = helpers.timestamp_to_iso(cls._start_timestamp)
|
||||||
cls._start_time_iso = start_time_iso
|
cls._start_time_iso = start_time_iso
|
||||||
|
|
||||||
|
num_measurements = 0
|
||||||
for i in xrange(constants.MAX_RETRIES):
|
for i in xrange(constants.MAX_RETRIES):
|
||||||
resp, response_body = cls.monasca_client.\
|
resp, response_body = cls.monasca_client.\
|
||||||
list_measurements(query_param)
|
list_measurements(query_param)
|
||||||
elements = response_body['elements']
|
elements = response_body['elements']
|
||||||
for element in elements:
|
for element in elements:
|
||||||
if str(element['name']) == name and len(
|
if str(element['name']) == name:
|
||||||
element['measurements']) == 2:
|
if len(element['measurements']) >= MIN_REQUIRED_MEASUREMENTS:
|
||||||
cls._end_timestamp = cls._start_timestamp + 1000 * 3
|
cls._end_timestamp = cls._start_timestamp + 1000 * 3
|
||||||
cls._end_time_iso = helpers.timestamp_to_iso(
|
cls._end_time_iso = helpers.timestamp_to_iso(
|
||||||
cls._end_timestamp)
|
cls._end_timestamp)
|
||||||
return
|
return
|
||||||
|
else:
|
||||||
|
num_measurements = len(element['measurements'])
|
||||||
|
break
|
||||||
time.sleep(constants.RETRY_WAIT_SECS)
|
time.sleep(constants.RETRY_WAIT_SECS)
|
||||||
|
|
||||||
assert False, "Failed to find enough measurements to test"
|
assert False, "Required {} measurements, found {}".format(MIN_REQUIRED_MEASUREMENTS, num_measurements)
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def resource_cleanup(cls):
|
def resource_cleanup(cls):
|
||||||
|
Reference in New Issue
Block a user