Merge pull request #24802 from basepi/merge-forward-2015.5

[2015.5] Merge forward from 2014.7 to 2015.5
This commit is contained in:
Colton Myers 2015-06-18 14:11:58 -06:00
commit ae05e70e94
4 changed files with 21 additions and 6 deletions

View file

@ -37,6 +37,8 @@ def _srvmgr(func):
def _parse_powershell_list(lst):
'''
Parse command output when piped to format-list
Need to look at splitting with ':' so you can get the full value
Need to check for error codes and return false if it's trying to parse
'''
ret = {}
for line in lst.splitlines():
@ -47,6 +49,7 @@ def _parse_powershell_list(lst):
# baz}
if len(splt) > 2:
ret[splt[0]] = splt[2]
ret['message'] = lst
return ret

View file

@ -63,9 +63,17 @@ def installed(name, recurse=False, force=False):
# Install the features
ret['changes'] = {'feature': __salt__['win_servermanager.install'](name, recurse)}
ret['result'] = ret['changes']['feature']['Success'] == 'True'
if not ret['result']:
ret['comment'] = 'failed to install the feature: {0}'.format(ret['changes']['feature']['ExitCode'])
if 'Success' in ret['changes']['feature']:
ret['result'] = ret['changes']['feature']['Success'] == 'True'
if not ret['result']:
ret['comment'] = 'Failed to install {0}: {1}'.format(name, ret['changes']['feature']['ExitCode'])
else:
ret['comment'] = 'Installed {0}'.format(name)
else:
ret['result'] = False
ret['comment'] = 'Failed to install {0}.\nError Message:\n{1}'.format(name, ret['changes']['feature']['message'])
ret['changes'] = {}
return ret

View file

@ -63,7 +63,9 @@ class WinServermanagerTestCase(TestCase):
Test if it install a feature.
'''
with patch.dict(win_servermanager.__salt__, {'cmd.run': self._m_run()}):
self.assertDictEqual(win_servermanager.install('Telnet-Client'), {})
self.assertDictEqual(win_servermanager.install('Telnet-Client'), {
'message': ''
})
# 'remove' function tests: 1
@ -72,7 +74,9 @@ class WinServermanagerTestCase(TestCase):
Test if it remove an installed feature.
'''
with patch.dict(win_servermanager.__salt__, {'cmd.run': self._m_run()}):
self.assertDictEqual(win_servermanager.remove('Telnet-Client'), {})
self.assertDictEqual(win_servermanager.remove('Telnet-Client'), {
'message': ''
})
if __name__ == '__main__':

View file

@ -56,7 +56,7 @@ class WinServermanagerTestCase(TestCase):
with patch.dict(win_servermanager.__opts__, {"test": False}):
ret.update({'changes': {'feature': {'Success': 'True'}},
'result': True})
'result': True, 'comment': 'Installed salt'})
self.assertDictEqual(win_servermanager.installed('salt'),
ret)