Moving of Ceilometer Eventss scenarios into separate classes
This patch moving methods from one CeilometerEventss base class into several independed classes (by one on each method) with keeping of original names of scenarios. Also this patch contains updated unit tests for CeilometerEvents scenarios Change-Id: Ib99bdf7f1ea84ffa01617a7dfe623518bc133bd3
This commit is contained in:
committed by
Staroverov Anton
parent
b7af1ceb30
commit
76f370dd68
@@ -19,19 +19,20 @@ from rally.plugins.openstack.scenarios.keystone import utils as kutils
|
||||
from rally.task import validation
|
||||
|
||||
|
||||
class CeilometerEvents(cutils.CeilometerScenario, kutils.KeystoneScenario):
|
||||
# NOTE(idegtiarov): to work with event we need to create it, there are
|
||||
# no other way except emit suitable notification from one of services,
|
||||
# for example create new user in keystone.
|
||||
|
||||
@validation.required_services(consts.Service.CEILOMETER,
|
||||
consts.Service.KEYSTONE)
|
||||
@validation.required_openstack(admin=True)
|
||||
@scenario.configure(context={"admin_cleanup": ["keystone"],
|
||||
"cleanup": ["ceilometer"]},
|
||||
name="CeilometerEvents.create_user_and_list_events")
|
||||
class CeilometerEventsCreateUserAndListEvents(cutils.CeilometerScenario,
|
||||
kutils.KeystoneScenario):
|
||||
"""Benchmark scenarios for Ceilometer Events API."""
|
||||
|
||||
# NOTE(idegtiarov): to work with event we need to create it, there are
|
||||
# no other way except emit suitable notification from one of services,
|
||||
# for example create new user in keystone.
|
||||
|
||||
@validation.required_services(consts.Service.CEILOMETER,
|
||||
consts.Service.KEYSTONE)
|
||||
@validation.required_openstack(admin=True)
|
||||
@scenario.configure(context={"admin_cleanup": ["keystone"],
|
||||
"cleanup": ["ceilometer"]})
|
||||
def create_user_and_list_events(self):
|
||||
def run(self):
|
||||
"""Create user and fetch all events.
|
||||
|
||||
This scenario creates user to store new event and
|
||||
@@ -40,12 +41,17 @@ class CeilometerEvents(cutils.CeilometerScenario, kutils.KeystoneScenario):
|
||||
self._user_create()
|
||||
self._list_events()
|
||||
|
||||
@validation.required_services(consts.Service.CEILOMETER,
|
||||
consts.Service.KEYSTONE)
|
||||
@validation.required_openstack(admin=True)
|
||||
@scenario.configure(context={"admin_cleanup": ["keystone"],
|
||||
"cleanup": ["ceilometer"]})
|
||||
def create_user_and_list_event_types(self):
|
||||
|
||||
@validation.required_services(consts.Service.CEILOMETER,
|
||||
consts.Service.KEYSTONE)
|
||||
@validation.required_openstack(admin=True)
|
||||
@scenario.configure(context={"admin_cleanup": ["keystone"],
|
||||
"cleanup": ["ceilometer"]},
|
||||
name="CeilometerEvents.create_user_and_list_event_types")
|
||||
class CeilometerEventsCreateUserAndListEventTypes(cutils.CeilometerScenario,
|
||||
kutils.KeystoneScenario):
|
||||
"""Benchmark scenarios for Ceilometer Events API."""
|
||||
def run(self):
|
||||
"""Create user and fetch all event types.
|
||||
|
||||
This scenario creates user to store new event and
|
||||
@@ -54,12 +60,17 @@ class CeilometerEvents(cutils.CeilometerScenario, kutils.KeystoneScenario):
|
||||
self._user_create()
|
||||
self._list_event_types()
|
||||
|
||||
@validation.required_services(consts.Service.CEILOMETER,
|
||||
consts.Service.KEYSTONE)
|
||||
@validation.required_openstack(admin=True)
|
||||
@scenario.configure(context={"admin_cleanup": ["keystone"],
|
||||
"cleanup": ["ceilometer"]})
|
||||
def create_user_and_get_event(self):
|
||||
|
||||
@validation.required_services(consts.Service.CEILOMETER,
|
||||
consts.Service.KEYSTONE)
|
||||
@validation.required_openstack(admin=True)
|
||||
@scenario.configure(context={"admin_cleanup": ["keystone"],
|
||||
"cleanup": ["ceilometer"]},
|
||||
name="CeilometerEvents.create_user_and_get_event")
|
||||
class CeilometerEventsCreateUserAndGetEvent(cutils.CeilometerScenario,
|
||||
kutils.KeystoneScenario):
|
||||
"""Benchmark scenarios for Ceilometer Events API."""
|
||||
def run(self):
|
||||
"""Create user and gets event.
|
||||
|
||||
This scenario creates user to store new event and
|
||||
|
||||
@@ -21,31 +21,32 @@ from tests.unit import test
|
||||
class CeilometerEventsTestCase(test.ScenarioTestCase):
|
||||
|
||||
def test_list_events(self):
|
||||
scenario = events.CeilometerEvents(self.context)
|
||||
scenario = events.CeilometerEventsCreateUserAndListEvents(self.context)
|
||||
|
||||
scenario._user_create = mock.MagicMock()
|
||||
scenario._list_events = mock.MagicMock()
|
||||
scenario.create_user_and_list_events()
|
||||
scenario.run()
|
||||
scenario._user_create.assert_called_once_with()
|
||||
scenario._list_events.assert_called_once_with()
|
||||
|
||||
def test_list_event_types(self):
|
||||
scenario = events.CeilometerEvents(self.context)
|
||||
scenario = events.CeilometerEventsCreateUserAndListEventTypes(
|
||||
self.context)
|
||||
|
||||
scenario._list_event_types = mock.MagicMock()
|
||||
scenario._user_create = mock.MagicMock()
|
||||
scenario.create_user_and_list_event_types()
|
||||
scenario.run()
|
||||
scenario._user_create.assert_called_once_with()
|
||||
scenario._list_event_types.assert_called_once_with()
|
||||
|
||||
def test_get_event(self):
|
||||
scenario = events.CeilometerEvents(self.context)
|
||||
scenario = events.CeilometerEventsCreateUserAndGetEvent(self.context)
|
||||
|
||||
scenario._user_create = mock.MagicMock()
|
||||
scenario._list_events = mock.MagicMock()
|
||||
scenario._get_event = mock.MagicMock()
|
||||
scenario._list_events.return_value = [mock.Mock(message_id="fake_id")]
|
||||
scenario.create_user_and_get_event()
|
||||
scenario.run()
|
||||
scenario._user_create.assert_called_once_with()
|
||||
scenario._list_events.assert_called_with()
|
||||
scenario._get_event.assert_called_with(event_id="fake_id")
|
||||
|
||||
Reference in New Issue
Block a user