From: Ian Main Date: Fri, 11 May 2012 18:14:08 +0000 (-0700) Subject: Move list_events into the class. X-Git-Tag: 2014.1~1841 X-Git-Url: https://review.fuel-infra.org/gitweb?a=commitdiff_plain;h=fb23391277120e1ecd76e7b94625256c097a29db;p=openstack-build%2Fheat-build.git Move list_events into the class. I think I went too far last time, this should at least be a method of the class. Signed-off-by: Ian Main --- diff --git a/heat/engine/manager.py b/heat/engine/manager.py index dbc3bec1..b1dc8897 100644 --- a/heat/engine/manager.py +++ b/heat/engine/manager.py @@ -33,19 +33,6 @@ from heat.db import api as db_api logger = logging.getLogger('heat.engine.manager') -def parse_event(event): - s = event.stack - return {'EventId': event.id, - 'StackId': event.stack_id, - 'StackName': s.name, - 'Timestamp': str(event.created_at), - 'LogicalResourceId': event.logical_resource_id, - 'PhysicalResourceId': event.physical_resource_id, - 'ResourceType': event.resource_type, - 'ResourceStatusReason': event.resource_status_reason, - 'ResourceProperties': event.resource_properties, - 'ResourceStatus': event.name} - class EngineManager(manager.Manager): """ @@ -220,6 +207,21 @@ class EngineManager(manager.Manager): ps.delete() return None + # Helper for list_events. It's here so we can use it in tests. + def parse_event(self, event): + s = event.stack + return {'EventId': event.id, + 'StackId': event.stack_id, + 'StackName': s.name, + 'Timestamp': str(event.created_at), + 'LogicalResourceId': event.logical_resource_id, + 'PhysicalResourceId': event.physical_resource_id, + 'ResourceType': event.resource_type, + 'ResourceStatusReason': event.resource_status_reason, + 'ResourceProperties': event.resource_properties, + 'ResourceStatus': event.name} + + def list_events(self, context, stack_name): """ The list_events method lists all events associated with a given stack. @@ -235,7 +237,7 @@ class EngineManager(manager.Manager): else: events = db_api.event_get_all(None) - return {'events': [parse_event(e) for e in events]} + return {'events': [self.parse_event(e) for e in events]} def event_create(self, context, event): try: diff --git a/heat/tests/test_stacks.py b/heat/tests/test_stacks.py index f8bb626b..2d2750db 100644 --- a/heat/tests/test_stacks.py +++ b/heat/tests/test_stacks.py @@ -107,9 +107,10 @@ class stacksTest(unittest.TestCase): assert(stack.resources['WebServer'] != None) assert(stack.resources['WebServer'].instance_id > 0) + m = manager.EngineManager() events = db_api.event_get_all_by_stack(None, stack.id) for ev in events: - result = manager.parse_event(ev) + result = m.parse_event(ev) assert(result['EventId'] > 0) assert(result['StackName'] == "test_event_list_stack") # This is one of CREATE_COMPLETE or CREATE_IN_PROGRESS,