diff options
author | Ross Brattain <ross.b.brattain@intel.com> | 2016-12-05 16:11:54 -0500 |
---|---|---|
committer | Ross Brattain <ross.b.brattain@intel.com> | 2017-01-12 18:25:04 -0800 |
commit | f036e9898a69f5041f9cde02e3652c29e2de1643 (patch) | |
tree | 36e5eea75811bb640bb30f442f5a3c617e945909 /tests/unit/benchmark/scenarios/availability/test_attacker_baremetal.py | |
parent | 5f0b3d417244397b2d5e61c7a6ddd145f1d25046 (diff) |
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 <ross.b.brattain@intel.com>
Diffstat (limited to 'tests/unit/benchmark/scenarios/availability/test_attacker_baremetal.py')
-rw-r--r-- | tests/unit/benchmark/scenarios/availability/test_attacker_baremetal.py | 57 |
1 files changed, 33 insertions, 24 deletions
diff --git a/tests/unit/benchmark/scenarios/availability/test_attacker_baremetal.py b/tests/unit/benchmark/scenarios/availability/test_attacker_baremetal.py index 340f94cb0..9e2e8b172 100644 --- a/tests/unit/benchmark/scenarios/availability/test_attacker_baremetal.py +++ b/tests/unit/benchmark/scenarios/availability/test_attacker_baremetal.py @@ -9,15 +9,20 @@ # http://www.apache.org/licenses/LICENSE-2.0 ############################################################################## -# Unittest for yardstick.benchmark.scenarios.availability.attacker.attacker_baremetal +# Unittest for +# yardstick.benchmark.scenarios.availability.attacker.attacker_baremetal +from __future__ import absolute_import import mock import unittest -from yardstick.benchmark.scenarios.availability.attacker import baseattacker -from yardstick.benchmark.scenarios.availability.attacker import attacker_baremetal +from yardstick.benchmark.scenarios.availability.attacker import \ + attacker_baremetal -@mock.patch('yardstick.benchmark.scenarios.availability.attacker.attacker_baremetal.subprocess') + +@mock.patch( + 'yardstick.benchmark.scenarios.availability.attacker.attacker_baremetal' + '.subprocess') class ExecuteShellTestCase(unittest.TestCase): def test__fun_execute_shell_command_successful(self, mock_subprocess): @@ -26,34 +31,37 @@ class ExecuteShellTestCase(unittest.TestCase): exitcode, output = attacker_baremetal._execute_shell_command(cmd) self.assertEqual(exitcode, 0) - def test__fun_execute_shell_command_fail_cmd_exception(self, mock_subprocess): + def test__fun_execute_shell_command_fail_cmd_exception(self, + mock_subprocess): cmd = "env" mock_subprocess.check_output.side_effect = RuntimeError exitcode, output = attacker_baremetal._execute_shell_command(cmd) self.assertEqual(exitcode, -1) -@mock.patch('yardstick.benchmark.scenarios.availability.attacker.attacker_baremetal.ssh') +@mock.patch( + 'yardstick.benchmark.scenarios.availability.attacker.attacker_baremetal' + '.ssh') class AttackerBaremetalTestCase(unittest.TestCase): def setUp(self): - host = { - "ipmi_ip": "10.20.0.5", - "ipmi_user": "root", - "ipmi_pwd": "123456", - "ip": "10.20.0.5", - "user": "root", - "key_filename": "/root/.ssh/id_rsa" - } - self.context = {"node1": host} - self.attacker_cfg = { - 'fault_type': 'bear-metal-down', - 'host': 'node1', - } + host = { + "ipmi_ip": "10.20.0.5", + "ipmi_user": "root", + "ipmi_pwd": "123456", + "ip": "10.20.0.5", + "user": "root", + "key_filename": "/root/.ssh/id_rsa" + } + self.context = {"node1": host} + self.attacker_cfg = { + 'fault_type': 'bear-metal-down', + 'host': 'node1', + } def test__attacker_baremetal_all_successful(self, mock_ssh): - - ins = attacker_baremetal.BaremetalAttacker(self.attacker_cfg, self.context) + ins = attacker_baremetal.BaremetalAttacker(self.attacker_cfg, + self.context) mock_ssh.SSH().execute.return_value = (0, "running", '') ins.setup() @@ -61,8 +69,8 @@ class AttackerBaremetalTestCase(unittest.TestCase): ins.recover() def test__attacker_baremetal_check_failuer(self, mock_ssh): - - ins = attacker_baremetal.BaremetalAttacker(self.attacker_cfg, self.context) + ins = attacker_baremetal.BaremetalAttacker(self.attacker_cfg, + self.context) mock_ssh.SSH().execute.return_value = (0, "error check", '') ins.setup() @@ -70,7 +78,8 @@ class AttackerBaremetalTestCase(unittest.TestCase): self.attacker_cfg["jump_host"] = 'node1' self.context["node1"]["pwd"] = "123456" - ins = attacker_baremetal.BaremetalAttacker(self.attacker_cfg, self.context) + ins = attacker_baremetal.BaremetalAttacker(self.attacker_cfg, + self.context) mock_ssh.SSH().execute.return_value = (0, "running", '') ins.setup() |