From f036e9898a69f5041f9cde02e3652c29e2de1643 Mon Sep 17 00:00:00 2001 From: Ross Brattain Date: Mon, 5 Dec 2016 16:11:54 -0500 Subject: Add support for Python 3 Porting to Python3 using Openstack guidelines: https://wiki.openstack.org/wiki/Python3 This passes unittests on Python 3.5 and passes opnfv_smoke suite Updates: use six for urlparse and urlopen fix exception.message attribute removal run unittests on python3 use unitest.mock on python 3 fix open mock for vsperf fix float division by using delta/eplison comparison use unicode in StringIO use plugin/sample_config.yaml relative path from test case fixed apexlake unittests upgraded to mock 2.0.0 to match python3 unittest.mock features fixed flake8 issues implement safe JSON decode with oslo_serialization.jsonutils.dump_as_bytes() implement safe unicode encode/decode with oslo_utils.encodeutils heat: convert pub key file from bytes to unicode pkg_resources returns raw bytes, in python3 we have to decode this to utf-8 unicode so JSON can encode it for heat template JIRA: YARDSTICK-452 Change-Id: Ib80dd1d0c0eb0592acd832b82f6a7f8f7c20bfda Signed-off-by: Ross Brattain --- tests/unit/benchmark/scenarios/parser/test_parser.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'tests/unit/benchmark/scenarios/parser') diff --git a/tests/unit/benchmark/scenarios/parser/test_parser.py b/tests/unit/benchmark/scenarios/parser/test_parser.py index d11a6d5c8..59b98a092 100644 --- a/tests/unit/benchmark/scenarios/parser/test_parser.py +++ b/tests/unit/benchmark/scenarios/parser/test_parser.py @@ -11,12 +11,16 @@ # Unittest for yardstick.benchmark.scenarios.parser.Parser -import mock +from __future__ import absolute_import + import unittest -import json + +import mock +from oslo_serialization import jsonutils from yardstick.benchmark.scenarios.parser import parser + @mock.patch('yardstick.benchmark.scenarios.parser.parser.subprocess') class ParserTestCase(unittest.TestCase): @@ -32,8 +36,8 @@ class ParserTestCase(unittest.TestCase): def test_parser_successful(self, mock_subprocess): args = { - 'options': {'yangfile':'/root/yardstick/samples/yang.yaml', - 'toscafile':'/root/yardstick/samples/tosca.yaml'}, + 'options': {'yangfile': '/root/yardstick/samples/yang.yaml', + 'toscafile': '/root/yardstick/samples/tosca.yaml'}, } p = parser.Parser(args, {}) result = {} @@ -41,7 +45,7 @@ class ParserTestCase(unittest.TestCase): sample_output = '{"yangtotosca": "success"}' p.run(result) - expected_result = json.loads(sample_output) + expected_result = jsonutils.loads(sample_output) def test_parser_teardown_successful(self, mock_subprocess): -- cgit 1.2.3-korg