Add python 3 support

Replaced iter.next() with next(iter)
Replaced __builtin__ with six.moves.builtin
Replaced unicode with six.text_type
Repleaced Configparser with six.moves.configparser

Blueprint magnum-python3

Change-Id: I9f084ef4fae1ec1111e26142e2e89bad18acbf45
This commit is contained in:
abhishekkekane 2016-01-28 02:23:33 -08:00 committed by Abhishek Kekane
parent fb2e675057
commit 20aec0db19
4 changed files with 11 additions and 10 deletions

View File

@ -33,6 +33,7 @@ from datetime import datetime
from datetime import date
# python 2 and python 3 compatibility library
import six
from six import iteritems
import six.moves.builtins as __builtin__
from six.moves.urllib import parse as urlparse
@ -184,7 +185,7 @@ class ApiClient(object):
"""
if isinstance(obj, type(None)):
return None
elif isinstance(obj, (unicode, str, int, float, bool, tuple, file)):
elif isinstance(obj, (six.text_type, str, int, float, bool, tuple, file)):
return obj
elif isinstance(obj, list):
return [self.sanitize_for_serialization(sub_obj)
@ -488,7 +489,7 @@ class ApiClient(object):
try:
value = klass(data)
except UnicodeEncodeError:
value = unicode(data)
value = six.text_type(data)
except TypeError:
value = data
return value

View File

@ -17,13 +17,13 @@ test_magnum
Tests for `magnum` module.
"""
import ConfigParser
import os
import subprocess
import tempfile
import time
import fixtures
from six.moves import configparser
from magnum.common.utils import rmtree_without_raise
from magnum.tests import base
@ -53,7 +53,7 @@ class BaseMagnumClient(base.TestCase):
keypair_id = cliutils.env('KEYPAIR_ID')
copy_logs = cliutils.env('COPY_LOGS')
config = ConfigParser.RawConfigParser()
config = configparser.RawConfigParser()
if config.read('functional_creds.conf'):
# the OR pattern means the environment is preferred for
# override
@ -68,7 +68,7 @@ class BaseMagnumClient(base.TestCase):
keypair_id = keypair_id or config.get('magnum', 'keypair_id')
try:
copy_logs = copy_logs or config.get('magnum', 'copy_logs')
except ConfigParser.NoOptionError:
except configparser.NoOptionError:
pass
cls.image_id = image_id

View File

@ -106,7 +106,7 @@ class TestLocalManager(base.BaseTestCase):
def _store_cert(self):
file_mock = mock.mock_open()
# Attempt to store the cert
with mock.patch('__builtin__.open', file_mock, create=True):
with mock.patch('six.moves.builtins.open', file_mock, create=True):
cert_id = local_cert_manager.CertManager.store_cert(
certificate=self.certificate,
intermediates=self.intermediates,
@ -131,7 +131,7 @@ class TestLocalManager(base.BaseTestCase):
def _get_cert(self, cert_id):
file_mock = mock.mock_open()
# Attempt to retrieve the cert
with mock.patch('__builtin__.open', file_mock, create=True):
with mock.patch('six.moves.builtins.open', file_mock, create=True):
data = local_cert_manager.CertManager.get_cert(cert_id)
# Verify the correct files were opened
@ -154,7 +154,7 @@ class TestLocalManager(base.BaseTestCase):
file_mock = mock.mock_open()
file_mock.side_effect = fake_open
# Attempt to retrieve the cert
with mock.patch('__builtin__.open', file_mock, create=True):
with mock.patch('six.moves.builtins.open', file_mock, create=True):
self.assertRaises(
exception.CertificateStorageException,
local_cert_manager.CertManager.get_cert,
@ -187,7 +187,7 @@ class TestLocalManager(base.BaseTestCase):
def test_store_cert(self):
self._store_cert()
@mock.patch('__builtin__.open', create=True)
@mock.patch('six.moves.builtins.open', create=True)
def test_store_cert_with_io_error(self, file_mock):
file_mock.side_effect = IOError

View File

@ -54,7 +54,7 @@ class TestValidators(unittest.TestCase):
key_usage = self._build_key_usage(critical=True)
with self.assertRaises(CertificateValidationError):
v.filter_allowed_extensions([key_usage], ['subjectAltName']).next()
next(v.filter_allowed_extensions([key_usage], ['subjectAltName']))
def test_merge_key_usage(self):
key_usage = self._build_key_usage(critical=True)