salt/tests/unit/modules/test_win_license.py
2017-03-28 19:03:59 +01:00

97 lines
3.4 KiB
Python

# -*- coding: utf-8 -*-
# Import Python libs
from __future__ import absolute_import
# Import Salt Libs
import salt.modules.win_license as win_license
# Import Salt Testing Libs
from tests.support.mixins import LoaderModuleMockMixin
from tests.support.unit import TestCase
from tests.support.mock import (
MagicMock,
patch
)
class LicenseTestCase(TestCase, LoaderModuleMockMixin):
def setup_loader_modules(self):
return {win_license: {}}
def test_installed(self):
'''
Test to see if the given license key is installed
'''
mock = MagicMock(return_value='Partial Product Key: ABCDE')
with patch.dict(win_license.__salt__, {'cmd.run': mock}):
out = win_license.installed('AAAAA-AAAAA-AAAAA-AAAA-AAAAA-ABCDE')
mock.assert_called_once_with(r'cscript C:\Windows\System32\slmgr.vbs /dli')
self.assertTrue(out)
def test_installed_diff(self):
'''
Test to see if the given license key is installed when the key is different
'''
mock = MagicMock(return_value='Partial Product Key: 12345')
with patch.dict(win_license.__salt__, {'cmd.run': mock}):
out = win_license.installed('AAAAA-AAAAA-AAAAA-AAAA-AAAAA-ABCDE')
mock.assert_called_once_with(r'cscript C:\Windows\System32\slmgr.vbs /dli')
self.assertFalse(out)
def test_install(self):
'''
Test installing the given product key
'''
mock = MagicMock()
with patch.dict(win_license.__salt__, {'cmd.run': mock}):
win_license.install('AAAAA-AAAAA-AAAAA-AAAA-AAAAA-ABCDE')
mock.assert_called_once_with(r'cscript C:\Windows\System32\slmgr.vbs /ipk '
'AAAAA-AAAAA-AAAAA-AAAA-AAAAA-ABCDE')
def test_uninstall(self):
'''
Test uninstalling the given product key
'''
mock = MagicMock()
with patch.dict(win_license.__salt__, {'cmd.run': mock}):
win_license.uninstall()
mock.assert_called_once_with(r'cscript C:\Windows\System32\slmgr.vbs /upk')
def test_activate(self):
'''
Test activating the current product key
'''
mock = MagicMock()
with patch.dict(win_license.__salt__, {'cmd.run': mock}):
win_license.activate()
mock.assert_called_once_with(r'cscript C:\Windows\System32\slmgr.vbs /ato')
def test_licensed(self):
'''
Test checking if the minion is licensed
'''
mock = MagicMock(return_value='License Status: Licensed')
with patch.dict(win_license.__salt__, {'cmd.run': mock}):
win_license.licensed()
mock.assert_called_once_with(r'cscript C:\Windows\System32\slmgr.vbs /dli')
def test_info(self):
'''
Test getting the info about the current license key
'''
expected = {
'description': 'Prof',
'licensed': True,
'name': 'Win7',
'partial_key': '12345'
}
mock = MagicMock(return_value='Name: Win7\r\nDescription: Prof\r\nPartial Product Key: 12345\r\n'
'License Status: Licensed')
with patch.dict(win_license.__salt__, {'cmd.run': mock}):
out = win_license.info()
mock.assert_called_once_with(r'cscript C:\Windows\System32\slmgr.vbs /dli')
self.assertEqual(out, expected)