summaryrefslogtreecommitdiffstats
path: root/utils/test
diff options
context:
space:
mode:
Diffstat (limited to 'utils/test')
-rw-r--r--utils/test/cli_installer_tests.py102
-rw-r--r--utils/test/fixture.py13
-rw-r--r--utils/test/oo_config_tests.py39
-rw-r--r--utils/test/openshift_ansible_tests.py26
-rw-r--r--utils/test/test_utils.py8
5 files changed, 25 insertions, 163 deletions
diff --git a/utils/test/cli_installer_tests.py b/utils/test/cli_installer_tests.py
index 0cb37eaff..673997c42 100644
--- a/utils/test/cli_installer_tests.py
+++ b/utils/test/cli_installer_tests.py
@@ -409,8 +409,7 @@ class UnattendedCliTests(OOCliFixture):
result = self.runner.invoke(cli.cli, self.cli_args)
if result.exception is None or result.exit_code != 1:
- print("Exit code: %s" % result.exit_code)
- self.fail("Unexpected CLI return")
+ self.fail("Unexpected CLI return. Exit code: %s" % result.exit_code)
# unattended with config file and all installed hosts (with --force)
@patch('ooinstall.openshift_ansible.run_main_playbook')
@@ -600,97 +599,6 @@ class UnattendedCliTests(OOCliFixture):
self.assertEquals('openshift-enterprise',
inventory.get('OSEv3:vars', 'deployment_type'))
- # 2016-09-26 - tbielawa - COMMENTING OUT these tests FOR NOW while
- # we wait to see if anyone notices that we took away their ability
- # to set the ansible_config parameter in the command line options
- # and in the installer config file.
- #
- # We have removed the ability to set the ansible config file
- # manually so that our new quieter output mode is the default and
- # only output mode.
- #
- # RE: https://trello.com/c/DSwwizwP - atomic-openshift-install
- # should only output relevant information.
-
- # @patch('ooinstall.openshift_ansible.run_ansible')
- # @patch('ooinstall.openshift_ansible.load_system_facts')
- # def test_no_ansible_config_specified(self, load_facts_mock, run_ansible_mock):
- # load_facts_mock.return_value = (MOCK_FACTS, 0)
- # run_ansible_mock.return_value = 0
-
- # config = SAMPLE_CONFIG % 'openshift-enterprise'
-
- # self._ansible_config_test(load_facts_mock, run_ansible_mock,
- # config, None, None)
-
- # @patch('ooinstall.openshift_ansible.run_ansible')
- # @patch('ooinstall.openshift_ansible.load_system_facts')
- # def test_ansible_config_specified_cli(self, load_facts_mock, run_ansible_mock):
- # load_facts_mock.return_value = (MOCK_FACTS, 0)
- # run_ansible_mock.return_value = 0
-
- # config = SAMPLE_CONFIG % 'openshift-enterprise'
- # ansible_config = os.path.join(self.work_dir, 'ansible.cfg')
-
- # self._ansible_config_test(load_facts_mock, run_ansible_mock,
- # config, ansible_config, ansible_config)
-
- # @patch('ooinstall.openshift_ansible.run_ansible')
- # @patch('ooinstall.openshift_ansible.load_system_facts')
- # def test_ansible_config_specified_in_installer_config(self,
- # load_facts_mock, run_ansible_mock):
-
- # load_facts_mock.return_value = (MOCK_FACTS, 0)
- # run_ansible_mock.return_value = 0
-
- # ansible_config = os.path.join(self.work_dir, 'ansible.cfg')
- # config = SAMPLE_CONFIG % 'openshift-enterprise'
- # config = "%s\nansible_config: %s" % (config, ansible_config)
- # self._ansible_config_test(load_facts_mock, run_ansible_mock,
- # config, None, ansible_config)
-
- # #pylint: disable=too-many-arguments
- # # This method allows for drastically simpler tests to write, and the args
- # # are all useful.
- # def _ansible_config_test(self, load_facts_mock, run_ansible_mock,
- # installer_config, ansible_config_cli=None, expected_result=None):
- # """
- # Utility method for testing the ways you can specify the ansible config.
- # """
-
- # load_facts_mock.return_value = (MOCK_FACTS, 0)
- # run_ansible_mock.return_value = 0
-
- # config_file = self.write_config(os.path.join(self.work_dir,
- # 'ooinstall.conf'), installer_config)
-
- # self.cli_args.extend(["-c", config_file])
- # if ansible_config_cli:
- # self.cli_args.extend(["--ansible-config", ansible_config_cli])
- # self.cli_args.append("install")
- # result = self.runner.invoke(cli.cli, self.cli_args)
- # self.assert_result(result, 0)
-
- # # Test the env vars for facts playbook:
- # facts_env_vars = load_facts_mock.call_args[0][2]
- # if expected_result:
- # self.assertEquals(expected_result, facts_env_vars['ANSIBLE_CONFIG'])
- # else:
- # # If user running test has rpm installed, this might be set to default:
- # self.assertTrue('ANSIBLE_CONFIG' not in facts_env_vars or
- # facts_env_vars['ANSIBLE_CONFIG'] == cli.DEFAULT_ANSIBLE_CONFIG)
-
- # # Test the env vars for main playbook:
- # env_vars = run_ansible_mock.call_args[0][2]
- # if expected_result:
- # self.assertEquals(expected_result, env_vars['ANSIBLE_CONFIG'])
- # else:
- # # If user running test has rpm installed, this might be set to default:
- # #
- # # By default we will use the quiet config
- # self.assertTrue('ANSIBLE_CONFIG' not in env_vars or
- # env_vars['ANSIBLE_CONFIG'] == cli.QUIET_ANSIBLE_CONFIG)
-
# unattended with bad config file and no installed hosts (without --force)
@patch('ooinstall.openshift_ansible.run_main_playbook')
@patch('ooinstall.openshift_ansible.load_system_facts')
@@ -1011,13 +919,7 @@ class AttendedCliTests(OOCliFixture):
full_line = "%s=%s" % (a, b)
tokens = full_line.split()
if tokens[0] == host:
- found = False
- for token in tokens:
- if token == variable:
- found = True
- continue
- self.assertTrue("Unable to find %s in line: %s" %
- (variable, full_line), found)
+ self.assertTrue(variable in tokens[1:], "Unable to find %s in line: %s" % (variable, full_line))
return
self.fail("unable to find host %s in inventory" % host)
diff --git a/utils/test/fixture.py b/utils/test/fixture.py
index 5200d275d..873ac4a27 100644
--- a/utils/test/fixture.py
+++ b/utils/test/fixture.py
@@ -65,14 +65,13 @@ class OOCliFixture(OOInstallFixture):
def assert_result(self, result, exit_code):
if result.exit_code != exit_code:
- print("Unexpected result from CLI execution")
- print("Exit code: %s" % result.exit_code)
- print("Exception: %s" % result.exception)
- print(result.exc_info)
+ msg = ["Unexpected result from CLI execution\n"]
+ msg.append("Exit code: %s\n" % result.exit_code)
+ msg.append("Exception: %s\n" % result.exception)
import traceback
- traceback.print_exception(*result.exc_info)
- print("Output:\n%s" % result.output)
- self.fail("Exception during CLI execution")
+ msg.extend(traceback.format_exception(*result.exc_info))
+ msg.append("Output:\n%s" % result.output)
+ self.fail("".join(msg))
def _verify_load_facts(self, load_facts_mock):
""" Check that we ran load facts with expected inputs. """
diff --git a/utils/test/oo_config_tests.py b/utils/test/oo_config_tests.py
index 2b4fce512..5651e6e7a 100644
--- a/utils/test/oo_config_tests.py
+++ b/utils/test/oo_config_tests.py
@@ -266,42 +266,3 @@ class HostTests(OOInstallFixture):
self.assertIn(node_labels_expected, legacy_inventory_line)
# An unquoted version is not present
self.assertNotIn(node_labels_bad, legacy_inventory_line)
-
-
- # def test_new_write_inventory_same_as_legacy(self):
- # """Verify the original write_host function produces the same output as the new method"""
- # yaml_props = {
- # 'ip': '192.168.0.1',
- # 'hostname': 'a.example.com',
- # 'connect_to': 'a-private.example.com',
- # 'public_ip': '192.168.0.1',
- # 'public_hostname': 'a.example.com',
- # 'new_host': True,
- # 'roles': ['node'],
- # 'other_variables': {
- # 'zzz': 'last',
- # 'foo': 'bar',
- # 'aaa': 'first',
- # },
- # }
-
- # new_node = Host(**yaml_props)
- # inventory = cStringIO()
-
- # # This is what the original 'write_host' function will
- # # generate. write_host has no return value, it just writes
- # # directly to the file 'inventory' which in this test-case is
- # # a StringIO object
- # ooinstall.openshift_ansible.write_host(
- # new_node,
- # 'node',
- # inventory,
- # schedulable=True)
- # legacy_inventory_line = inventory.getvalue()
-
- # # This is what the new method in the Host class generates
- # new_inventory_line = new_node.inventory_string('node', schedulable=True)
-
- # self.assertEqual(
- # legacy_inventory_line,
- # new_inventory_line)
diff --git a/utils/test/openshift_ansible_tests.py b/utils/test/openshift_ansible_tests.py
index 5847fe37b..02a9754db 100644
--- a/utils/test/openshift_ansible_tests.py
+++ b/utils/test/openshift_ansible_tests.py
@@ -2,7 +2,6 @@ import os
import unittest
import tempfile
import shutil
-import yaml
from six.moves import configparser
@@ -40,17 +39,10 @@ class TestOpenShiftAnsible(unittest.TestCase):
def tearDown(self):
shutil.rmtree(self.work_dir)
- def generate_hosts(self, num_hosts, name_prefix, roles=None, new_host=False):
- hosts = []
- for num in range(1, num_hosts + 1):
- hosts.append(Host(connect_to=name_prefix + str(num),
- roles=roles, new_host=new_host))
- return hosts
-
def test_generate_inventory_new_nodes(self):
- hosts = self.generate_hosts(1, 'master', roles=(['master', 'etcd']))
- hosts.extend(self.generate_hosts(1, 'node', roles=['node']))
- hosts.extend(self.generate_hosts(1, 'new_node', roles=['node'], new_host=True))
+ hosts = generate_hosts(1, 'master', roles=(['master', 'etcd']))
+ hosts.extend(generate_hosts(1, 'node', roles=['node']))
+ hosts.extend(generate_hosts(1, 'new_node', roles=['node'], new_host=True))
openshift_ansible.generate_inventory(hosts)
inventory = configparser.ConfigParser(allow_no_value=True)
inventory.read(self.inventory)
@@ -59,8 +51,8 @@ class TestOpenShiftAnsible(unittest.TestCase):
def test_write_inventory_vars_role_vars(self):
with open(self.inventory, 'w') as inv:
- openshift_ansible.CFG.deployment.roles['master'].variables={'color': 'blue'}
- openshift_ansible.CFG.deployment.roles['node'].variables={'color': 'green'}
+ openshift_ansible.CFG.deployment.roles['master'].variables = {'color': 'blue'}
+ openshift_ansible.CFG.deployment.roles['node'].variables = {'color': 'green'}
openshift_ansible.write_inventory_vars(inv, None)
inventory = configparser.ConfigParser(allow_no_value=True)
@@ -69,3 +61,11 @@ class TestOpenShiftAnsible(unittest.TestCase):
self.assertEquals('blue', inventory.get('masters:vars', 'color'))
self.assertTrue(inventory.has_section('nodes:vars'))
self.assertEquals('green', inventory.get('nodes:vars', 'color'))
+
+
+def generate_hosts(num_hosts, name_prefix, roles=None, new_host=False):
+ hosts = []
+ for num in range(1, num_hosts + 1):
+ hosts.append(Host(connect_to=name_prefix + str(num),
+ roles=roles, new_host=new_host))
+ return hosts
diff --git a/utils/test/test_utils.py b/utils/test/test_utils.py
index cbce64f7e..cabeaee34 100644
--- a/utils/test/test_utils.py
+++ b/utils/test/test_utils.py
@@ -2,14 +2,14 @@
Unittests for ooinstall utils.
"""
-import six
import unittest
-import logging
-import sys
import copy
-from ooinstall.utils import debug_env, is_valid_hostname
import mock
+import six
+
+from ooinstall.utils import debug_env, is_valid_hostname
+
class TestUtils(unittest.TestCase):
"""