diff options
author | Dan Radez <dradez@redhat.com> | 2016-08-25 09:45:01 -0400 |
---|---|---|
committer | Dan Radez <dradez@redhat.com> | 2016-09-07 15:55:44 -0400 |
commit | 51510a96718c909cbcbf02256c440dbdceab7227 (patch) | |
tree | 549dfa3ecd6e222a6a92e535f8bf8c97b7243b21 /tests | |
parent | c5904a139026826c3dea1a63e5ff21953aa4869a (diff) |
moving inventory file parsing to python
Change-Id: Ib03728e8ffe9c65044b32b4348e9c1c88862c6e3
Signed-off-by: Dan Radez <dradez@redhat.com>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/test_apex_inventory.py | 61 | ||||
-rw-r--r-- | tests/test_apex_python_utils_py.py | 7 |
2 files changed, 68 insertions, 0 deletions
diff --git a/tests/test_apex_inventory.py b/tests/test_apex_inventory.py new file mode 100644 index 00000000..08a34152 --- /dev/null +++ b/tests/test_apex_inventory.py @@ -0,0 +1,61 @@ +############################################################################## +# Copyright (c) 2016 Dan Radez (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 +############################################################################## + +from apex.inventory import Inventory +from apex.inventory import InventoryException + +from nose.tools import assert_is_instance +from nose.tools import assert_raises +from nose.tools import assert_equal + +inventory_files = ('intel_pod2_settings.yaml', + 'nokia_pod1_settings.yaml', + 'pod_example_settings.yaml') + + +class TestInventory(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_init(self): + for f in inventory_files: + i = Inventory('../config/inventory/{}'.format(f)) + assert_equal(i.dump_instackenv_json(), None) + + # test virtual + i = Inventory(i, virtual=True) + assert_equal(i.dump_instackenv_json(), None) + + # Remove nodes to violate HA node count + while len(i['nodes']) >= 5: + i['nodes'].pop() + assert_raises(InventoryException, + Inventory, i) + + # Remove nodes to violate non-HA node count + while len(i['nodes']) >= 2: + i['nodes'].pop() + assert_raises(InventoryException, + Inventory, i, ha=False) + + def test_exception(sefl): + e = InventoryException("test") + print(e) + assert_is_instance(e, InventoryException) diff --git a/tests/test_apex_python_utils_py.py b/tests/test_apex_python_utils_py.py index 1f280356..237c5589 100644 --- a/tests/test_apex_python_utils_py.py +++ b/tests/test_apex_python_utils_py.py @@ -16,6 +16,7 @@ from apex_python_utils import parse_net_settings from apex_python_utils import parse_deploy_settings from apex_python_utils import find_ip from apex_python_utils import build_nic_template +from apex_python_utils import parse_inventory from nose.tools import assert_equal from nose.tools import assert_raises @@ -25,6 +26,7 @@ net_sets = '../config/network/network_settings.yaml' net_env = '../build/network-environment.yaml' deploy_sets = '../config/deploy/deploy_settings.yaml' nic_template = '../build/nics-template.yaml.jinja2' +inventory = '../config/inventory/pod_example_settings.yaml' class TestCommonUtils(object): @@ -77,3 +79,8 @@ class TestCommonUtils(object): '-r', 'compute', '-t', nic_template]) assert_equal(build_nic_template(args), None) + + def test_parse_inventory(self): + args = self.parser.parse_args(['parse-inventory', + '-f', inventory]) + assert_equal(parse_inventory(args), None) |