From 2a0702ea914a574ffa7c6d6f83a5c606e24ebd0a Mon Sep 17 00:00:00 2001 From: Cédric Ollivier Date: Tue, 7 May 2019 11:02:43 +0200 Subject: Update to Python3 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Functest containers leverage on Python3 instead of python2. https://mail.python.org/pipermail/python-dev/2018-March/152348.html It also updates robotframework librairies to latest release and Vmtp to master ([1] is needed) It patches cloudify rest client to support python3. Vmtp is currently disabled because it currently supports python2 only. [1] https://github.com/openstack/vmtp/commit/a5d062881d91bf4f547d92c6e289bea30feb5d6e#diff-b4ef698db8ca845e5845c4618278f29a Change-Id: I39964a212ec2d4dbf53c9ea7c63f02e0b6a05b48 Signed-off-by: Cédric Ollivier --- functest/tests/unit/openstack/rally/test_rally.py | 4 +- .../tests/unit/openstack/tempest/test_tempest.py | 4 +- functest/tests/unit/utils/test_functest_utils.py | 80 +++++++--------------- 3 files changed, 29 insertions(+), 59 deletions(-) (limited to 'functest/tests/unit') diff --git a/functest/tests/unit/openstack/rally/test_rally.py b/functest/tests/unit/openstack/rally/test_rally.py index 5dc38a20f..1b790a0bf 100644 --- a/functest/tests/unit/openstack/rally/test_rally.py +++ b/functest/tests/unit/openstack/rally/test_rally.py @@ -101,12 +101,12 @@ class OSRallyTesting(unittest.TestCase): mock_os_makedirs.assert_called() def test_get_task_id_default(self): - cmd_raw = 'Task 1: started' + cmd_raw = b'Task 1: started' self.assertEqual(self.rally_base.get_task_id(cmd_raw), '1') def test_get_task_id_missing_id(self): - cmd_raw = '' + cmd_raw = b'' self.assertEqual(self.rally_base.get_task_id(cmd_raw), None) diff --git a/functest/tests/unit/openstack/tempest/test_tempest.py b/functest/tests/unit/openstack/tempest/test_tempest.py index 119959670..a500a37e1 100644 --- a/functest/tests/unit/openstack/tempest/test_tempest.py +++ b/functest/tests/unit/openstack/tempest/test_tempest.py @@ -271,7 +271,7 @@ class OSTempestTesting(unittest.TestCase): with mock.patch('functest.opnfv_tests.openstack.tempest.' 'tempest.subprocess.Popen') as mock_popen: mock_stdout = mock.Mock() - attrs = {'stdout.readline.return_value': 'test_deploy_id'} + attrs = {'stdout.readline.return_value': b'test_deploy_id'} mock_stdout.configure_mock(**attrs) mock_popen.return_value = mock_stdout @@ -283,7 +283,7 @@ class OSTempestTesting(unittest.TestCase): with mock.patch('functest.opnfv_tests.openstack.tempest.' 'tempest.subprocess.Popen') as mock_popen: mock_stdout = mock.Mock() - attrs = {'stdout.readline.return_value': 'test_deploy_id'} + attrs = {'stdout.readline.return_value': b'test_deploy_id'} mock_stdout.configure_mock(**attrs) mock_popen.return_value = mock_stdout diff --git a/functest/tests/unit/utils/test_functest_utils.py b/functest/tests/unit/utils/test_functest_utils.py index da3b03c80..ba022e377 100644 --- a/functest/tests/unit/utils/test_functest_utils.py +++ b/functest/tests/unit/utils/test_functest_utils.py @@ -15,6 +15,7 @@ import unittest import mock import pkg_resources +import six from functest.utils import functest_utils @@ -97,23 +98,15 @@ class FunctestUtilsTesting(unittest.TestCase): as mock_subproc_open, \ mock.patch('six.moves.builtins.open', mock.mock_open()) as mopen: - - FunctestUtilsTesting.readline = 0 - - mock_obj = mock.Mock() - attrs = {'readline.side_effect': self.cmd_readline()} - mock_obj.configure_mock(**attrs) - + stream = six.BytesIO() + stream.write(self.cmd_readline().encode()) mock_obj2 = mock.Mock() - attrs = {'stdout': mock_obj, 'wait.return_value': 1} + attrs = {'stdout': stream, 'wait.return_value': 1} mock_obj2.configure_mock(**attrs) - mock_subproc_open.return_value = mock_obj2 - - resp = functest_utils.execute_command(self.cmd, info=True, - error_msg=self.error_msg, - verbose=True, - output_file=self.output_file) + resp = functest_utils.execute_command( + self.cmd, info=True, error_msg=self.error_msg, verbose=True, + output_file=self.output_file) self.assertEqual(resp, 1) msg_exec = ("Executing command: '%s'" % self.cmd) mock_logger_info.assert_called_once_with(msg_exec) @@ -126,23 +119,15 @@ class FunctestUtilsTesting(unittest.TestCase): as mock_subproc_open, \ mock.patch('six.moves.builtins.open', mock.mock_open()) as mopen: - - FunctestUtilsTesting.readline = 0 - - mock_obj = mock.Mock() - attrs = {'readline.side_effect': self.cmd_readline()} - mock_obj.configure_mock(**attrs) - + stream = six.BytesIO() + stream.write(self.cmd_readline().encode()) mock_obj2 = mock.Mock() - attrs = {'stdout': mock_obj, 'wait.return_value': 0} + attrs = {'stdout': stream, 'wait.return_value': 0} mock_obj2.configure_mock(**attrs) - mock_subproc_open.return_value = mock_obj2 - - resp = functest_utils.execute_command(self.cmd, info=True, - error_msg=self.error_msg, - verbose=True, - output_file=self.output_file) + resp = functest_utils.execute_command( + self.cmd, info=True, error_msg=self.error_msg, verbose=True, + output_file=self.output_file) self.assertEqual(resp, 0) msg_exec = ("Executing command: '%s'" % self.cmd) mock_logger_info.assert_called_once_with(msg_exec) @@ -153,23 +138,15 @@ class FunctestUtilsTesting(unittest.TestCase): # pylint: disable=unused-argument with mock.patch('functest.utils.functest_utils.subprocess.Popen') \ as mock_subproc_open: - - FunctestUtilsTesting.readline = 2 - - mock_obj = mock.Mock() - attrs = {'readline.side_effect': self.cmd_readline()} - mock_obj.configure_mock(**attrs) - + stream = six.BytesIO() + stream.write(self.cmd_readline().encode()) mock_obj2 = mock.Mock() - attrs = {'stdout': mock_obj, 'wait.return_value': 0} + attrs = {'stdout': stream, 'wait.return_value': 0} mock_obj2.configure_mock(**attrs) - mock_subproc_open.return_value = mock_obj2 - - resp = functest_utils.execute_command(self.cmd, info=False, - error_msg="", - verbose=False, - output_file=None) + resp = functest_utils.execute_command( + self.cmd, info=False, error_msg="", verbose=False, + output_file=None) self.assertEqual(resp, 0) @mock.patch('sys.stdout') @@ -177,22 +154,15 @@ class FunctestUtilsTesting(unittest.TestCase): # pylint: disable=unused-argument with mock.patch('functest.utils.functest_utils.subprocess.Popen') \ as mock_subproc_open: - - FunctestUtilsTesting.readline = 2 - mock_obj = mock.Mock() - attrs = {'readline.side_effect': self.cmd_readline()} - mock_obj.configure_mock(**attrs) - + stream = six.BytesIO() + stream.write(self.cmd_readline().encode()) mock_obj2 = mock.Mock() - attrs = {'stdout': mock_obj, 'wait.return_value': 1} + attrs = {'stdout': stream, 'wait.return_value': 1} mock_obj2.configure_mock(**attrs) - mock_subproc_open.return_value = mock_obj2 - - resp = functest_utils.execute_command(self.cmd, info=False, - error_msg="", - verbose=False, - output_file=None) + resp = functest_utils.execute_command( + self.cmd, info=False, error_msg="", verbose=False, + output_file=None) self.assertEqual(resp, 1) def test_get_param_from_yaml_failed(self): -- cgit 1.2.3-korg