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/api/utils/test_common.py | 1 + tests/unit/api/utils/test_influx.py | 9 +++++++++ 2 files changed, 10 insertions(+) (limited to 'tests/unit/api') diff --git a/tests/unit/api/utils/test_common.py b/tests/unit/api/utils/test_common.py index 5d177409e..acf6e41b1 100644 --- a/tests/unit/api/utils/test_common.py +++ b/tests/unit/api/utils/test_common.py @@ -6,6 +6,7 @@ # which accompanies this distribution, and is available at # http://www.apache.org/licenses/LICENSE-2.0 ############################################################################## +from __future__ import absolute_import import unittest from api.utils import common diff --git a/tests/unit/api/utils/test_influx.py b/tests/unit/api/utils/test_influx.py index 0852da2dd..90aef2cab 100644 --- a/tests/unit/api/utils/test_influx.py +++ b/tests/unit/api/utils/test_influx.py @@ -6,6 +6,7 @@ # which accompanies this distribution, and is available at # http://www.apache.org/licenses/LICENSE-2.0 ############################################################################## +from __future__ import absolute_import import unittest import mock import uuid @@ -13,12 +14,17 @@ import datetime from api.utils import influx +import six.moves.configparser as ConfigParser + class GetDataDbClientTestCase(unittest.TestCase): @mock.patch('api.utils.influx.ConfigParser') def test_get_data_db_client_dispatcher_not_influxdb(self, mock_parser): mock_parser.ConfigParser().get.return_value = 'file' + # reset exception to avoid + # TypeError: catching classes that do not inherit from BaseException + mock_parser.NoOptionError = ConfigParser.NoOptionError try: influx.get_data_db_client() except Exception as e: @@ -67,6 +73,9 @@ class QueryTestCase(unittest.TestCase): @mock.patch('api.utils.influx.ConfigParser') def test_query_dispatcher_not_influxdb(self, mock_parser): mock_parser.ConfigParser().get.return_value = 'file' + # reset exception to avoid + # TypeError: catching classes that do not inherit from BaseException + mock_parser.NoOptionError = ConfigParser.NoOptionError try: sql = 'select * form tasklist' influx.query(sql) -- cgit 1.2.3-korg