Merge "Fix telemetry-tempest-plugin scenario tests" into mcp/queens
diff --git a/telemetry_tempest_plugin/scenario/test_telemetry_integration.py b/telemetry_tempest_plugin/scenario/test_telemetry_integration.py
index b908185..72b0633 100644
--- a/telemetry_tempest_plugin/scenario/test_telemetry_integration.py
+++ b/telemetry_tempest_plugin/scenario/test_telemetry_integration.py
@@ -11,6 +11,7 @@
 #    under the License.
 
 import os
+import six
 import unittest
 
 from gabbi import runner
@@ -97,10 +98,11 @@
         })
 
         with open(os.path.join(TEST_DIR, filename)) as f:
+            suite_dict = self.deunicode(utils.load_yaml(f))
             test_suite = suitemaker.test_suite_from_dict(
                 loader=unittest.defaultTestLoader,
                 test_base_name="gabbi",
-                suite_dict=utils.load_yaml(f),
+                suite_dict=suite_dict,
                 test_directory=TEST_DIR,
                 host="example.com", port=None,
                 fixture_module=None,
@@ -126,6 +128,17 @@
 
             self.assertTrue(result.wasSuccessful())
 
+    def deunicode(self, val):
+        if isinstance(val, six.string_types) and not isinstance(val, str):
+            return val.encode('utf-8')
+        if isinstance(val, dict):
+            dictionary = {self.deunicode(key): self.deunicode(val[key])
+                          for key in val}
+            return dictionary
+        if isinstance(val, list):
+            return [self.deunicode(x) for x in val]
+        return val
+
 
 def test_maker(name, filename):
     def test(self):