Move common functions into functional test base-class

The list_resources and update_stack are generic and likely to be used
in multiple tests, so move them into the test base-class.

Change-Id: I20b5399212a3dde514e0785b1fc91be2c30cba04
diff --git a/common/test.py b/common/test.py
index 2973964..143fae3 100644
--- a/common/test.py
+++ b/common/test.py
@@ -304,3 +304,23 @@
         self._wait_for_stack_status(
             stack_identifier, 'DELETE_COMPLETE',
             success_on_not_found=True)
+
+    def update_stack(self, stack_identifier, template, environment=None,
+                     files=None):
+        env = environment or {}
+        env_files = files or {}
+        stack_name = stack_identifier.split('/')[0]
+        self.client.stacks.update(
+            stack_id=stack_identifier,
+            stack_name=stack_name,
+            template=template,
+            files=env_files,
+            disable_rollback=True,
+            parameters={},
+            environment=env
+        )
+        self._wait_for_stack_status(stack_identifier, 'UPDATE_COMPLETE')
+
+    def list_resources(self, stack_identifier):
+        resources = self.client.resources.list(stack_identifier)
+        return dict((r.resource_name, r.resource_type) for r in resources)