Fix format_stack_preview for py3

Also fixes test_res_group_with_nested_template functional
test.

Change-Id: I23fab6b8acc11bb32332dd0042ecd6b8ac289f56
diff --git a/functional/test_preview.py b/functional/test_preview.py
index 99c24eb..4b9d77c 100644
--- a/functional/test_preview.py
+++ b/functional/test_preview.py
@@ -222,8 +222,16 @@
             stack_name=stack_name,
             template=main_template,
             files={'nested.yaml': nested_template}).to_dict()
+
+        resource_names = []
+
+        def get_resource_names(resources):
+            for item in resources:
+                if isinstance(item, dict):
+                    resource_names.append(item['resource_name'])
+                else:
+                    get_resource_names(item)
+        get_resource_names(result['resources'])
         # ensure that fixed network and port here
-        self.assertEqual('fixed_network',
-                         result['resources'][0]['resource_name'])
-        self.assertEqual('port',
-                         result['resources'][1][0][0]['resource_name'])
+        self.assertIn('fixed_network', resource_names)
+        self.assertIn('port', resource_names)