summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorTim Rozet <trozet@redhat.com>2016-08-30 13:06:33 -0400
committerTim Rozet <trozet@redhat.com>2016-08-30 15:34:04 -0400
commit4b84887ed2322db6b04924bdee7b44d3dcf7c32d (patch)
tree7500abe13324ba298ce0b6eff08bd04f87510bd3 /tests
parentd7ceff5d5eefef27f7c2dd23c9161cc8ddd7140b (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.yaml56
-rw-r--r--tests/test_apex_clean.py41
-rw-r--r--tests/test_apex_common_utils.py17
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)