test_utils.py 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. """
  2. Unittests for ooinstall utils.
  3. """
  4. import unittest
  5. import logging
  6. import sys
  7. import copy
  8. from ooinstall.utils import debug_env
  9. import mock
  10. class TestUtils(unittest.TestCase):
  11. """
  12. Parent unittest TestCase.
  13. """
  14. def setUp(self):
  15. self.debug_all_params = {
  16. 'OPENSHIFT_FOO': 'bar',
  17. 'ANSIBLE_FOO': 'bar',
  18. 'OO_FOO': 'bar'
  19. }
  20. self.expected = [
  21. mock.call('ANSIBLE_FOO: bar'),
  22. mock.call('OPENSHIFT_FOO: bar'),
  23. mock.call('OO_FOO: bar'),
  24. ]
  25. # python 2.x has assertItemsEqual, python 3.x has assertCountEqual
  26. if sys.version_info.major > 3:
  27. self.assertItemsEqual = self.assertCountEqual
  28. ######################################################################
  29. # Validate ooinstall.utils.debug_env functionality
  30. def test_utils_debug_env_all_debugged(self):
  31. """Verify debug_env debugs specific env variables"""
  32. with mock.patch('ooinstall.utils.installer_log') as _il:
  33. debug_env(self.debug_all_params)
  34. print _il.debug.call_args_list
  35. # Debug was called for each item we expect
  36. self.assertEqual(
  37. len(self.debug_all_params),
  38. _il.debug.call_count)
  39. # Each item we expect was logged
  40. self.assertItemsEqual(
  41. self.expected,
  42. _il.debug.call_args_list)
  43. def test_utils_debug_env_some_debugged(self):
  44. """Verify debug_env skips non-wanted env variables"""
  45. debug_some_params = copy.deepcopy(self.debug_all_params)
  46. # This will not be logged by debug_env
  47. debug_some_params['MG_FRBBR'] = "SKIPPED"
  48. with mock.patch('ooinstall.utils.installer_log') as _il:
  49. debug_env(debug_some_params)
  50. # The actual number of debug calls was less than the
  51. # number of items passed to debug_env
  52. self.assertLess(
  53. _il.debug.call_count,
  54. len(debug_some_params))
  55. self.assertItemsEqual(
  56. self.expected,
  57. _il.debug.call_args_list)