salt/tests/unit/modules/test_win_shadow.py

67 lines
2.5 KiB
Python

# -*- coding: utf-8 -*-
'''
:codeauthor: :email:`Jayesh Kariya <jayeshk@saltstack.com>`
'''
# Import Python Libs
from __future__ import absolute_import, unicode_literals, print_function
# Import Salt Testing Libs
from tests.support.mixins import LoaderModuleMockMixin
from tests.support.unit import TestCase
from tests.support.mock import (
MagicMock,
patch
)
# Import Salt Libs
import salt.modules.win_shadow as win_shadow
class WinShadowTestCase(TestCase, LoaderModuleMockMixin):
'''
Test cases for salt.modules.win_shadow
'''
def setup_loader_modules(self):
return {
win_shadow: {
'__salt__': {
# 'user.info': MagicMock(return_value=True),
'user.update': MagicMock(return_value=True)
}
}
}
# 'info' function tests: 1
def test_info(self):
'''
Test if it return information for the specified user
'''
mock_user_info = MagicMock(return_value={'name': 'SALT',
'password_changed': '',
'expiration_date': ''})
with patch.dict(win_shadow.__salt__, {'user.info': mock_user_info}):
self.assertDictEqual(win_shadow.info('SALT'), {'name': 'SALT',
'passwd': 'Unavailable',
'lstchg': '',
'min': '',
'max': '',
'warn': '',
'inact': '',
'expire': ''})
# 'set_password' function tests: 1
def test_set_password(self):
'''
Test if it set the password for a named user.
'''
mock_cmd = MagicMock(return_value={'retcode': False})
mock_user_info = MagicMock(return_value={'name': 'SALT',
'password_changed': '',
'expiration_date': ''})
with patch.dict(win_shadow.__salt__, {'cmd.run_all': mock_cmd,
'user.info': mock_user_info}):
self.assertTrue(win_shadow.set_password('root', 'mysecretpassword'))