diff options
author | Tim Rozet <trozet@redhat.com> | 2016-08-30 13:06:33 -0400 |
---|---|---|
committer | Tim Rozet <trozet@redhat.com> | 2016-08-30 21:47:55 +0000 |
commit | ae26e2717c408225534033726614a25e16fe18ca (patch) | |
tree | c71cc3f99a03d42a8ec794337c15d10a3a3afbe8 /tests | |
parent | 2eaa43854eb4abfcae8566c37cfb63f187f6696f (diff) |
Adds ability to power off nodes in clean
Now if an inventory file is provided to clean, those nodes will be
powered off.
JIRA: APEX-250
Change-Id: I2d78285717726c3d1c9d7d88c38e706d4617e337
Signed-off-by: Tim Rozet <trozet@redhat.com>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/config/inventory.yaml | 56 | ||||
-rw-r--r-- | tests/test_apex_clean.py | 41 | ||||
-rw-r--r-- | tests/test_apex_common_utils.py | 17 |
3 files changed, 108 insertions, 6 deletions
diff --git a/tests/config/inventory.yaml b/tests/config/inventory.yaml new file mode 100644 index 00000000..607df29e --- /dev/null +++ b/tests/config/inventory.yaml @@ -0,0 +1,56 @@ +nodes: + node1: + mac_address: "00:25:B5:cc:00:1e" + ipmi_ip: 72.30.8.69 + ipmi_user: admin + ipmi_pass: octopus + pm_type: "pxe_ipmitool" + cpus: 2 + memory: 8192 + disk: 40 + arch: "x86_64" + capabilities: "profile:control" + node2: + mac_address: "00:25:B5:cc:00:5d" + ipmi_ip: 72.30.8.78 + ipmi_user: admin + ipmi_pass: octopus + pm_type: "pxe_ipmitool" + cpus: 2 + memory: 8192 + disk: 40 + arch: "x86_64" + capabilities: "profile:control" + node3: + mac_address: "00:25:B5:cc:00:1d" + ipmi_ip: 72.30.8.67 + ipmi_user: admin + ipmi_pass: octopus + pm_type: "pxe_ipmitool" + cpus: 2 + memory: 8192 + disk: 40 + arch: "x86_64" + capabilities: "profile:control" + node4: + mac_address: "00:25:B5:cc:00:3c" + ipmi_ip: 72.30.8.76 + ipmi_user: admin + ipmi_pass: octopus + pm_type: "pxe_ipmitool" + cpus: 2 + memory: 8192 + disk: 40 + arch: "x86_64" + capabilities: "profile:compute" + node5: + mac_address: "00:25:B5:cc:00:5b" + ipmi_ip: 72.30.8.71 + ipmi_user: admin + ipmi_pass: octopus + pm_type: "pxe_ipmitool" + cpus: 2 + memory: 8192 + disk: 40 + arch: "x86_64" + capabilities: "profile:compute" diff --git a/tests/test_apex_clean.py b/tests/test_apex_clean.py new file mode 100644 index 00000000..2a436a7c --- /dev/null +++ b/tests/test_apex_clean.py @@ -0,0 +1,41 @@ +############################################################################## +# Copyright (c) 2016 Tim Rozet (Red Hat) +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +import mock +import pyipmi +import pyipmi.chassis + +from apex import clean_nodes +from mock import patch +from nose import tools + + +class TestClean(object): + @classmethod + def setup_class(klass): + """This method is run once for each class before any tests are run""" + + @classmethod + def teardown_class(klass): + """This method is run once for each class _after_ all tests are run""" + + def setUp(self): + """This method is run once before _each_ test method is executed""" + + def teardown(self): + """This method is run once after _each_ test method is executed""" + + def test_clean(self): + with mock.patch.object(pyipmi.Session, 'establish') as mock_method: + with patch.object(pyipmi.chassis.Chassis, + 'chassis_control_power_down') as mock_method2: + clean_nodes('config/inventory.yaml') + + tools.assert_equal(mock_method.call_count, 5) + tools.assert_equal(mock_method2.call_count, 5) diff --git a/tests/test_apex_common_utils.py b/tests/test_apex_common_utils.py index 7c988e3d..94598657 100644 --- a/tests/test_apex_common_utils.py +++ b/tests/test_apex_common_utils.py @@ -7,9 +7,9 @@ # http://www.apache.org/licenses/LICENSE-2.0 ############################################################################## -from apex.common.utils import str2bool +import nose.tools -from nose.tools import assert_equal +from apex.common import utils class TestCommonUtils(object): @@ -28,7 +28,12 @@ class TestCommonUtils(object): """This method is run once after _each_ test method is executed""" def test_str2bool(self): - assert_equal(str2bool(True), True) - assert_equal(str2bool(False), False) - assert_equal(str2bool("True"), True) - assert_equal(str2bool("YES"), True) + nose.tools.assert_equal(utils.str2bool(True), True) + nose.tools.assert_equal(utils.str2bool(False), False) + nose.tools.assert_equal(utils.str2bool("True"), True) + nose.tools.assert_equal(utils.str2bool("YES"), True) + + def test_parse_yaml(self): + nose.tools.assert_is_instance( + utils.parse_yaml('../config/network/network_settings.yaml'), + dict) |