mirror of
https://github.com/saltstack/salt.git
synced 2025-04-17 10:10:20 +00:00
Fix failing PY2 tests
This commit is contained in:
parent
36a24ac28f
commit
b25b56299d
3 changed files with 70 additions and 13 deletions
|
@ -152,6 +152,20 @@ def _compare_policies(new_policy, current_policy):
|
|||
return False
|
||||
|
||||
|
||||
def _convert_to_unicode(data):
|
||||
if isinstance(data, six.string_types):
|
||||
data = data.replace('\x00', '')
|
||||
return salt.utils.stringutils.to_unicode(data)
|
||||
elif isinstance(data, dict):
|
||||
return dict((_convert_to_unicode(k),
|
||||
_convert_to_unicode(v))
|
||||
for k, v in data.items())
|
||||
elif isinstance(data, list):
|
||||
return list(_convert_to_unicode(v) for v in data)
|
||||
else:
|
||||
return data
|
||||
|
||||
|
||||
def set_(name,
|
||||
setting=None,
|
||||
policy_class=None,
|
||||
|
@ -342,6 +356,9 @@ def set_(name,
|
|||
requested_policy_check = salt.utils.json.loads(requested_policy_json)
|
||||
current_policy_check = salt.utils.json.loads(current_policy_json)
|
||||
|
||||
if six.PY2:
|
||||
current_policy_check = _convert_to_unicode(current_policy_check)
|
||||
|
||||
# Are the requested and current policies identical
|
||||
policies_are_equal = _compare_policies(
|
||||
requested_policy_check, current_policy_check)
|
||||
|
|
|
@ -18,6 +18,10 @@ import salt.config
|
|||
import salt.loader
|
||||
import salt.modules.win_lgpo as win_lgpo
|
||||
import salt.utils.platform
|
||||
import salt.utils.stringutils
|
||||
|
||||
# Import 3rd Party Libs
|
||||
import salt.ext.six as six
|
||||
|
||||
# We're going to actually use the loader, without grains (slow)
|
||||
opts = salt.config.DEFAULT_MINION_OPTS.copy()
|
||||
|
@ -585,6 +589,19 @@ class WinLGPOGetPointAndPrintENTestCase(TestCase, LoaderModuleMockMixin):
|
|||
win_lgpo.set_(computer_policy=computer_policy)
|
||||
self.configured = True
|
||||
|
||||
def _convert_to_unicode(self, data):
|
||||
if isinstance(data, six.string_types):
|
||||
data = data.replace('\x00', '')
|
||||
return salt.utils.stringutils.to_unicode(data)
|
||||
elif isinstance(data, dict):
|
||||
return dict((self._convert_to_unicode(k),
|
||||
self._convert_to_unicode(v))
|
||||
for k, v in data.items())
|
||||
elif isinstance(data, list):
|
||||
return list(self._convert_to_unicode(v) for v in data)
|
||||
else:
|
||||
return data
|
||||
|
||||
def _get_policy_adm_setting(self, policy_name, policy_class,
|
||||
return_full_policy_names, hierarchical_return):
|
||||
'''
|
||||
|
@ -596,13 +613,16 @@ class WinLGPOGetPointAndPrintENTestCase(TestCase, LoaderModuleMockMixin):
|
|||
policy_class=policy_class,
|
||||
adml_language='en-US')
|
||||
if success:
|
||||
return salt.modules.win_lgpo._get_policy_adm_setting(
|
||||
results = salt.modules.win_lgpo._get_policy_adm_setting(
|
||||
admx_policy=policy_obj,
|
||||
policy_class=policy_class,
|
||||
adml_language='en-US',
|
||||
return_full_policy_names=return_full_policy_names,
|
||||
hierarchical_return=hierarchical_return
|
||||
)
|
||||
if six.PY2:
|
||||
results = self._convert_to_unicode(results)
|
||||
return results
|
||||
return 'Policy Not Found'
|
||||
|
||||
def test_point_and_print_enabled(self):
|
||||
|
@ -622,7 +642,7 @@ class WinLGPOGetPointAndPrintENTestCase(TestCase, LoaderModuleMockMixin):
|
|||
True,
|
||||
'PointAndPrint_TrustedServers_Chk':
|
||||
True,
|
||||
u'PointAndPrint_TrustedServers_Edit':
|
||||
'PointAndPrint_TrustedServers_Edit':
|
||||
'fakeserver1;fakeserver2'}}
|
||||
self.assertDictEqual(result, expected)
|
||||
|
||||
|
@ -646,7 +666,7 @@ class WinLGPOGetPointAndPrintENTestCase(TestCase, LoaderModuleMockMixin):
|
|||
True,
|
||||
'PointAndPrint_TrustedServers_Chk':
|
||||
True,
|
||||
u'PointAndPrint_TrustedServers_Edit':
|
||||
'PointAndPrint_TrustedServers_Edit':
|
||||
'fakeserver1;fakeserver2'}}}}}
|
||||
self.assertDictEqual(result, expected)
|
||||
|
||||
|
@ -665,8 +685,8 @@ class WinLGPOGetPointAndPrintENTestCase(TestCase, LoaderModuleMockMixin):
|
|||
'Show warning and elevation prompt',
|
||||
'Users can only point and print to machines in their forest':
|
||||
True,
|
||||
u'Users can only point and print to these servers': True,
|
||||
u'When updating drivers for an existing connection':
|
||||
'Users can only point and print to these servers': True,
|
||||
'When updating drivers for an existing connection':
|
||||
'Show warning only'}}
|
||||
self.assertDictEqual(result, expected)
|
||||
|
||||
|
@ -690,9 +710,9 @@ class WinLGPOGetPointAndPrintENTestCase(TestCase, LoaderModuleMockMixin):
|
|||
'Users can only point and print to machines in '
|
||||
'their forest':
|
||||
True,
|
||||
u'Users can only point and print to these servers':
|
||||
'Users can only point and print to these servers':
|
||||
True,
|
||||
u'When updating drivers for an existing connection':
|
||||
'When updating drivers for an existing connection':
|
||||
'Show warning only'}}}}}
|
||||
self.assertDictEqual(result, expected)
|
||||
|
||||
|
|
|
@ -16,6 +16,10 @@ import salt.config
|
|||
import salt.loader
|
||||
import salt.states.win_lgpo as win_lgpo
|
||||
import salt.utils.platform
|
||||
import salt.utils.stringutils
|
||||
|
||||
# Import 3rd Party Libs
|
||||
import salt.ext.six as six
|
||||
|
||||
# We're going to actually use the loader, without grains (slow)
|
||||
opts = salt.config.DEFAULT_MINION_OPTS.copy()
|
||||
|
@ -159,6 +163,19 @@ class WinLGPOPolicyElementNames(TestCase, LoaderModuleMockMixin):
|
|||
with patch.dict(win_lgpo.__opts__, {'test': False}):
|
||||
win_lgpo.set_(name='nc_state', computer_policy=computer_policy)
|
||||
|
||||
def _convert_to_unicode(self, data):
|
||||
if isinstance(data, six.string_types):
|
||||
data = data.replace('\x00', '')
|
||||
return salt.utils.stringutils.to_unicode(data)
|
||||
elif isinstance(data, dict):
|
||||
return dict((self._convert_to_unicode(k),
|
||||
self._convert_to_unicode(v))
|
||||
for k, v in data.items())
|
||||
elif isinstance(data, list):
|
||||
return list(self._convert_to_unicode(v) for v in data)
|
||||
else:
|
||||
return data
|
||||
|
||||
def test_current_element_naming_style(self):
|
||||
computer_policy = {
|
||||
'Point and Print Restrictions': {
|
||||
|
@ -178,6 +195,7 @@ class WinLGPOPolicyElementNames(TestCase, LoaderModuleMockMixin):
|
|||
with patch.dict(win_lgpo.__opts__, {'test': False}):
|
||||
result = win_lgpo.set_(name='test_state',
|
||||
computer_policy=computer_policy)
|
||||
result = self._convert_to_unicode(result)
|
||||
expected = {
|
||||
'Point and Print Restrictions': {
|
||||
'Enter fully qualified server names separated by '
|
||||
|
@ -188,9 +206,9 @@ class WinLGPOPolicyElementNames(TestCase, LoaderModuleMockMixin):
|
|||
'Users can only point and print to machines in '
|
||||
'their forest':
|
||||
True,
|
||||
u'Users can only point and print to these servers':
|
||||
'Users can only point and print to these servers':
|
||||
True,
|
||||
u'When updating drivers for an existing connection':
|
||||
'When updating drivers for an existing connection':
|
||||
'Show warning only'}}
|
||||
self.assertDictEqual(
|
||||
result['changes']['new']['Computer Configuration'], expected)
|
||||
|
@ -216,6 +234,8 @@ class WinLGPOPolicyElementNames(TestCase, LoaderModuleMockMixin):
|
|||
with patch.dict(win_lgpo.__opts__, {'test': False}):
|
||||
result = win_lgpo.set_(name='test_state',
|
||||
computer_policy=computer_policy)
|
||||
if six.PY2:
|
||||
result = self._convert_to_unicode(result)
|
||||
expected = {
|
||||
'Point and Print Restrictions': {
|
||||
'Enter fully qualified server names separated by '
|
||||
|
@ -226,9 +246,9 @@ class WinLGPOPolicyElementNames(TestCase, LoaderModuleMockMixin):
|
|||
'Users can only point and print to machines in '
|
||||
'their forest':
|
||||
True,
|
||||
u'Users can only point and print to these servers':
|
||||
'Users can only point and print to these servers':
|
||||
True,
|
||||
u'When updating drivers for an existing connection':
|
||||
'When updating drivers for an existing connection':
|
||||
'Show warning only'}}
|
||||
self.assertDictEqual(
|
||||
result['changes']['new']['Computer Configuration'], expected)
|
||||
|
@ -317,7 +337,7 @@ class WinLGPOPolicyElementNamesTestTrue(TestCase, LoaderModuleMockMixin):
|
|||
'comment': 'All specified policies are properly configured'}
|
||||
self.assertDictEqual(result['changes'], expected['changes'])
|
||||
self.assertTrue(result['result'])
|
||||
self.assertEqual(result['comment'], result['comment'])
|
||||
self.assertEqual(result['comment'], expected['comment'])
|
||||
|
||||
def test_old_element_naming_style(self):
|
||||
computer_policy = {
|
||||
|
@ -347,7 +367,7 @@ class WinLGPOPolicyElementNamesTestTrue(TestCase, LoaderModuleMockMixin):
|
|||
'All specified policies are properly configured'}
|
||||
self.assertDictEqual(result['changes'], expected['changes'])
|
||||
self.assertTrue(result['result'])
|
||||
self.assertEqual(result['comment'], result['comment'])
|
||||
self.assertEqual(result['comment'], expected['comment'])
|
||||
|
||||
def test_invalid_elements(self):
|
||||
computer_policy = {
|
||||
|
|
Loading…
Add table
Reference in a new issue