Merge "Moving of CeilometerQueries scenarios into separate classes"
This commit is contained in:
commit
4a91652be3
@ -20,14 +20,15 @@ from rally.plugins.openstack.scenarios.ceilometer import utils as ceiloutils
|
||||
from rally.task import validation
|
||||
|
||||
|
||||
class CeilometerQueries(ceiloutils.CeilometerScenario):
|
||||
@validation.required_services(consts.Service.CEILOMETER)
|
||||
@validation.required_openstack(users=True)
|
||||
@scenario.configure(context={"cleanup": ["ceilometer"]},
|
||||
name="CeilometerQueries.create_and_query_alarms")
|
||||
class CeilometerQueriesCreateAndQueryAlarms(ceiloutils.CeilometerScenario):
|
||||
"""Benchmark scenarios for Ceilometer Queries API."""
|
||||
|
||||
@validation.required_services(consts.Service.CEILOMETER)
|
||||
@validation.required_openstack(users=True)
|
||||
@scenario.configure(context={"cleanup": ["ceilometer"]})
|
||||
def create_and_query_alarms(self, meter_name, threshold, filter=None,
|
||||
orderby=None, limit=None, **kwargs):
|
||||
def run(self, meter_name, threshold, filter=None, orderby=None,
|
||||
limit=None, **kwargs):
|
||||
"""Create an alarm and then query it with specific parameters.
|
||||
|
||||
This scenario tests POST /v2/query/alarms
|
||||
@ -46,11 +47,16 @@ class CeilometerQueries(ceiloutils.CeilometerScenario):
|
||||
self._create_alarm(meter_name, threshold, kwargs)
|
||||
self._query_alarms(filter, orderby, limit)
|
||||
|
||||
@validation.required_services(consts.Service.CEILOMETER)
|
||||
@validation.required_openstack(users=True)
|
||||
@scenario.configure(context={"cleanup": ["ceilometer"]})
|
||||
def create_and_query_alarm_history(self, meter_name, threshold,
|
||||
orderby=None, limit=None, **kwargs):
|
||||
|
||||
@validation.required_services(consts.Service.CEILOMETER)
|
||||
@validation.required_openstack(users=True)
|
||||
@scenario.configure(context={"cleanup": ["ceilometer"]},
|
||||
name="CeilometerQueries.create_and_query_alarm_history")
|
||||
class CeilometerQueriesCreateAndQueryAlarmHistory(ceiloutils
|
||||
.CeilometerScenario):
|
||||
"""Benchmark scenarios for Ceilometer Queries API."""
|
||||
|
||||
def run(self, meter_name, threshold, orderby=None, limit=None, **kwargs):
|
||||
"""Create an alarm and then query for its history.
|
||||
|
||||
This scenario tests POST /v2/query/alarms/history
|
||||
@ -67,13 +73,16 @@ class CeilometerQueries(ceiloutils.CeilometerScenario):
|
||||
alarm_filter = json.dumps({"=": {"alarm_id": alarm.alarm_id}})
|
||||
self._query_alarm_history(alarm_filter, orderby, limit)
|
||||
|
||||
@validation.required_services(consts.Service.CEILOMETER)
|
||||
@validation.required_openstack(users=True)
|
||||
@scenario.configure(context={"cleanup": ["ceilometer"]})
|
||||
def create_and_query_samples(self, counter_name, counter_type,
|
||||
counter_unit, counter_volume, resource_id,
|
||||
filter=None, orderby=None, limit=None,
|
||||
**kwargs):
|
||||
|
||||
@validation.required_services(consts.Service.CEILOMETER)
|
||||
@validation.required_openstack(users=True)
|
||||
@scenario.configure(context={"cleanup": ["ceilometer"]},
|
||||
name="CeilometerQueries.create_and_query_samples")
|
||||
class CeilometerQueriesCreateAndQuerySamples(ceiloutils.CeilometerScenario):
|
||||
"""Benchmark scenarios for Ceilometer Queries API."""
|
||||
|
||||
def run(self, counter_name, counter_type, counter_unit, counter_volume,
|
||||
resource_id, filter=None, orderby=None, limit=None, **kwargs):
|
||||
"""Create a sample and then query it with specific parameters.
|
||||
|
||||
This scenario tests POST /v2/query/samples
|
||||
|
@ -22,28 +22,26 @@ from tests.unit import test
|
||||
|
||||
class CeilometerQueriesTestCase(test.ScenarioTestCase):
|
||||
def test_create_and_query_alarms(self):
|
||||
scenario = queries.CeilometerQueries(self.context)
|
||||
scenario = queries.CeilometerQueriesCreateAndQueryAlarms(self.context)
|
||||
|
||||
scenario._create_alarm = mock.MagicMock()
|
||||
scenario._query_alarms = mock.MagicMock()
|
||||
|
||||
scenario.create_and_query_alarms("fake_meter_name",
|
||||
100, "fake_filter",
|
||||
"fake_orderby_attribute", 10,
|
||||
fakearg="f")
|
||||
scenario.run("fake_meter_name", 100, "fake_filter",
|
||||
"fake_orderby_attribute", 10, fakearg="f")
|
||||
scenario._create_alarm.assert_called_once_with("fake_meter_name",
|
||||
100, {"fakearg": "f"})
|
||||
scenario._query_alarms.assert_called_once_with(
|
||||
json.dumps("fake_filter"), "fake_orderby_attribute", 10)
|
||||
|
||||
def test_create_and_query_alarms_no_filter(self):
|
||||
scenario = queries.CeilometerQueries(self.context)
|
||||
scenario = queries.CeilometerQueriesCreateAndQueryAlarms(self.context)
|
||||
|
||||
scenario._create_alarm = mock.MagicMock()
|
||||
scenario._query_alarms = mock.MagicMock()
|
||||
|
||||
scenario.create_and_query_alarms("fake_meter_name",
|
||||
100, None,
|
||||
"fake_orderby_attribute", 10,
|
||||
fakearg="f")
|
||||
scenario.run("fake_meter_name", 100, None, "fake_orderby_attribute",
|
||||
10, fakearg="f")
|
||||
scenario._create_alarm.assert_called_once_with("fake_meter_name",
|
||||
100, {"fakearg": "f"})
|
||||
scenario._query_alarms.assert_called_once_with(
|
||||
@ -52,33 +50,30 @@ class CeilometerQueriesTestCase(test.ScenarioTestCase):
|
||||
def test_create_and_query_alarm_history(self):
|
||||
fake_alarm = mock.MagicMock()
|
||||
fake_alarm.alarm_id = "fake_alarm_id"
|
||||
scenario = queries.CeilometerQueries(self.context)
|
||||
scenario = queries.CeilometerQueriesCreateAndQueryAlarmHistory(
|
||||
self.context)
|
||||
|
||||
scenario._create_alarm = mock.MagicMock(return_value=fake_alarm)
|
||||
scenario._query_alarm_history = mock.MagicMock()
|
||||
|
||||
fake_filter = json.dumps({"=": {"alarm_id": fake_alarm.alarm_id}})
|
||||
scenario.create_and_query_alarm_history("fake_meter_name", 100,
|
||||
"fake_orderby_attribute", 10,
|
||||
fakearg="f")
|
||||
scenario.run("fake_meter_name", 100, "fake_orderby_attribute",
|
||||
10, fakearg="f")
|
||||
scenario._create_alarm.assert_called_once_with("fake_meter_name", 100,
|
||||
{"fakearg": "f"})
|
||||
scenario._query_alarm_history.assert_called_once_with(
|
||||
fake_filter, "fake_orderby_attribute", 10)
|
||||
|
||||
def test_create_and_query_samples(self):
|
||||
scenario = queries.CeilometerQueries(self.context)
|
||||
scenario = queries.CeilometerQueriesCreateAndQuerySamples(self.context)
|
||||
|
||||
scenario._create_sample = mock.MagicMock()
|
||||
scenario._query_samples = mock.MagicMock()
|
||||
|
||||
scenario.create_and_query_samples("fake_counter_name",
|
||||
"fake_counter_type",
|
||||
"fake_counter_unit",
|
||||
"fake_counter_volume",
|
||||
"fake_resource_id",
|
||||
"fake_filter",
|
||||
"fake_orderby_attribute",
|
||||
10,
|
||||
fakearg="f")
|
||||
scenario.run("fake_counter_name", "fake_counter_type",
|
||||
"fake_counter_unit", "fake_counter_volume",
|
||||
"fake_resource_id", "fake_filter",
|
||||
"fake_orderby_attribute", 10, fakearg="f")
|
||||
scenario._create_sample.assert_called_once_with("fake_counter_name",
|
||||
"fake_counter_type",
|
||||
"fake_counter_unit",
|
||||
@ -89,19 +84,15 @@ class CeilometerQueriesTestCase(test.ScenarioTestCase):
|
||||
json.dumps("fake_filter"), "fake_orderby_attribute", 10)
|
||||
|
||||
def test_create_and_query_samples_no_filter(self):
|
||||
scenario = queries.CeilometerQueries(self.context)
|
||||
scenario = queries.CeilometerQueriesCreateAndQuerySamples(self.context)
|
||||
|
||||
scenario._create_sample = mock.MagicMock()
|
||||
scenario._query_samples = mock.MagicMock()
|
||||
|
||||
scenario.create_and_query_samples("fake_counter_name",
|
||||
"fake_counter_type",
|
||||
"fake_counter_unit",
|
||||
"fake_counter_volume",
|
||||
"fake_resource_id",
|
||||
None,
|
||||
"fake_orderby_attribute",
|
||||
10,
|
||||
fakearg="f")
|
||||
scenario.run("fake_counter_name", "fake_counter_type",
|
||||
"fake_counter_unit", "fake_counter_volume",
|
||||
"fake_resource_id", None,
|
||||
"fake_orderby_attribute", 10, fakearg="f")
|
||||
scenario._create_sample.assert_called_once_with("fake_counter_name",
|
||||
"fake_counter_type",
|
||||
"fake_counter_unit",
|
||||
|
Loading…
x
Reference in New Issue
Block a user