|
@@ -0,0 +1,72 @@
|
|
|
+"""
|
|
|
+Unittests for ooinstall utils.
|
|
|
+"""
|
|
|
+
|
|
|
+import unittest
|
|
|
+import logging
|
|
|
+import sys
|
|
|
+import copy
|
|
|
+from ooinstall.utils import debug_env
|
|
|
+import mock
|
|
|
+
|
|
|
+
|
|
|
+class TestUtils(unittest.TestCase):
|
|
|
+ """
|
|
|
+ Parent unittest TestCase.
|
|
|
+ """
|
|
|
+
|
|
|
+ def setUp(self):
|
|
|
+ self.debug_all_params = {
|
|
|
+ 'OPENSHIFT_FOO': 'bar',
|
|
|
+ 'ANSIBLE_FOO': 'bar',
|
|
|
+ 'OO_FOO': 'bar'
|
|
|
+ }
|
|
|
+
|
|
|
+ self.expected = [
|
|
|
+ mock.call('ANSIBLE_FOO: bar'),
|
|
|
+ mock.call('OPENSHIFT_FOO: bar'),
|
|
|
+ mock.call('OO_FOO: bar'),
|
|
|
+ ]
|
|
|
+
|
|
|
+ # python 2.x has assertItemsEqual, python 3.x has assertCountEqual
|
|
|
+ if sys.version_info.major > 3:
|
|
|
+ self.assertItemsEqual = self.assertCountEqual
|
|
|
+
|
|
|
+ ######################################################################
|
|
|
+ # Validate ooinstall.utils.debug_env functionality
|
|
|
+
|
|
|
+ def test_utils_debug_env_all_debugged(self):
|
|
|
+ """Verify debug_env debugs specific env variables"""
|
|
|
+
|
|
|
+ with mock.patch('ooinstall.utils.installer_log') as _il:
|
|
|
+ debug_env(self.debug_all_params)
|
|
|
+ print _il.debug.call_args_list
|
|
|
+
|
|
|
+ # Debug was called for each item we expect
|
|
|
+ self.assertEqual(
|
|
|
+ len(self.debug_all_params),
|
|
|
+ _il.debug.call_count)
|
|
|
+
|
|
|
+ # Each item we expect was logged
|
|
|
+ self.assertItemsEqual(
|
|
|
+ self.expected,
|
|
|
+ _il.debug.call_args_list)
|
|
|
+
|
|
|
+ def test_utils_debug_env_some_debugged(self):
|
|
|
+ """Verify debug_env skips non-wanted env variables"""
|
|
|
+ debug_some_params = copy.deepcopy(self.debug_all_params)
|
|
|
+ # This will not be logged by debug_env
|
|
|
+ debug_some_params['MG_FRBBR'] = "SKIPPED"
|
|
|
+
|
|
|
+ with mock.patch('ooinstall.utils.installer_log') as _il:
|
|
|
+ debug_env(debug_some_params)
|
|
|
+
|
|
|
+ # The actual number of debug calls was less than the
|
|
|
+ # number of items passed to debug_env
|
|
|
+ self.assertLess(
|
|
|
+ _il.debug.call_count,
|
|
|
+ len(debug_some_params))
|
|
|
+
|
|
|
+ self.assertItemsEqual(
|
|
|
+ self.expected,
|
|
|
+ _il.debug.call_args_list)
|