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):