]> review.fuel-infra Code Review - openstack-build/heat-build.git/commitdiff
Move list_events into the class.
authorIan Main <imain@redhat.com>
Fri, 11 May 2012 18:14:08 +0000 (11:14 -0700)
committerIan Main <imain@redhat.com>
Fri, 11 May 2012 18:14:08 +0000 (11:14 -0700)
I think I went too far last time, this should at least be a method
of the class.

Signed-off-by: Ian Main <imain@redhat.com>
heat/engine/manager.py
heat/tests/test_stacks.py

index dbc3bec1e8dd22fb4509073b4791db01c544ef4f..b1dc8897f4869ac4bde36c4ad42aa28b6f0f5d81 100644 (file)
@@ -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:
index f8bb626bdebb407229841dfa7302d1c2b591f33d..2d2750db59d121b361b419e6150745114e7b3742 100644 (file)
@@ -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,