salt/tests/unit/states/win_license_test.py
Daniel Hobley 2567ea6956 Lint fixes
2016-02-02 11:48:17 +01:00

177 lines
6.3 KiB
Python

# -*- coding: utf-8 -*-
# Import Python libs
from __future__ import absolute_import
# Import Salt Libs
from salt.states import win_license as license
# Import Salt Testing Libs
from salttesting import TestCase
from salttesting.helpers import ensure_in_syspath
from salttesting.mock import (
MagicMock,
patch
)
ensure_in_syspath('../../')
license.__salt__ = {}
class LicenseTestCase(TestCase):
def test_activate(self):
'''
Test activating the given product key
'''
expected = {
'changes': {},
'comment': 'Windows is now activated.',
'name': 'AAAAA-AAAAA-AAAAA-AAAA-AAAAA-ABCDE',
'result': True
}
info = {
'description': 'Prof',
'licensed': False,
'name': 'Win7',
'partial_key': 'XXXXX'
}
info_mock = MagicMock(return_value=info)
install_mock = MagicMock(return_value='Installed successfully')
activate_mock = MagicMock(return_value='Activated successfully')
with patch.dict(license.__salt__, {'license.info': info_mock,
'license.install': install_mock,
'license.activate': activate_mock}):
out = license.activate('AAAAA-AAAAA-AAAAA-AAAA-AAAAA-ABCDE')
info_mock.assert_called_once_with()
install_mock.assert_called_once_with('AAAAA-AAAAA-AAAAA-AAAA-AAAAA-ABCDE')
activate_mock.assert_called_once_with()
self.assertEqual(out, expected)
def test_installed_not_activated(self):
'''
Test activating the given product key when the key is installed but not activated
'''
expected = {
'changes': {},
'comment': 'Windows is now activated.',
'name': 'AAAAA-AAAAA-AAAAA-AAAA-AAAAA-ABCDE',
'result': True
}
info = {
'description': 'Prof',
'licensed': False,
'name': 'Win7',
'partial_key': 'ABCDE'
}
info_mock = MagicMock(return_value=info)
install_mock = MagicMock(return_value='Installed successfully')
activate_mock = MagicMock(return_value='Activated successfully')
with patch.dict(license.__salt__, {'license.info': info_mock,
'license.install': install_mock,
'license.activate': activate_mock}):
out = license.activate('AAAAA-AAAAA-AAAAA-AAAA-AAAAA-ABCDE')
info_mock.assert_called_once_with()
assert not install_mock.called
activate_mock.assert_called_once_with()
self.assertEqual(out, expected)
def test_installed_activated(self):
'''
Test activating the given product key when its already activated
'''
expected = {
'changes': {},
'comment': 'Windows is already activated.',
'name': 'AAAAA-AAAAA-AAAAA-AAAA-AAAAA-ABCDE',
'result': True
}
info = {
'description': 'Prof',
'licensed': True,
'name': 'Win7',
'partial_key': 'ABCDE'
}
info_mock = MagicMock(return_value=info)
install_mock = MagicMock(return_value='Installed successfully')
activate_mock = MagicMock(return_value='Activated successfully')
with patch.dict(license.__salt__, {'license.info': info_mock,
'license.install': install_mock,
'license.activate': activate_mock}):
out = license.activate('AAAAA-AAAAA-AAAAA-AAAA-AAAAA-ABCDE')
info_mock.assert_called_once_with()
assert not install_mock.called
assert not activate_mock.called
self.assertEqual(out, expected)
def test_installed_install_fail(self):
'''
Test activating the given product key when the install fails
'''
expected = {
'changes': {},
'comment': 'Unable to install the given product key is it valid?',
'name': 'AAAAA-AAAAA-AAAAA-AAAA-AAAAA-ABCDE',
'result': False
}
info = {
'description': 'Prof',
'licensed': False,
'name': 'Win7',
'partial_key': '12345'
}
info_mock = MagicMock(return_value=info)
install_mock = MagicMock(return_value='Failed')
activate_mock = MagicMock()
with patch.dict(license.__salt__, {'license.info': info_mock,
'license.install': install_mock,
'license.activate': activate_mock}):
out = license.activate('AAAAA-AAAAA-AAAAA-AAAA-AAAAA-ABCDE')
info_mock.assert_called_once_with()
install_mock.assert_called_once_with('AAAAA-AAAAA-AAAAA-AAAA-AAAAA-ABCDE')
assert not activate_mock.called
self.assertEqual(out, expected)
def test_installed_activate_fail(self):
'''
Test activating the given product key when the install fails
'''
expected = {
'changes': {},
'comment': 'Unable to activate the given product key.',
'name': 'AAAAA-AAAAA-AAAAA-AAAA-AAAAA-ABCDE',
'result': False
}
info = {
'description': 'Prof',
'licensed': False,
'name': 'Win7',
'partial_key': 'ABCDE'
}
info_mock = MagicMock(return_value=info)
install_mock = MagicMock()
activate_mock = MagicMock(return_value='Failed to activate')
with patch.dict(license.__salt__, {'license.info': info_mock,
'license.install': install_mock,
'license.activate': activate_mock}):
out = license.activate('AAAAA-AAAAA-AAAAA-AAAA-AAAAA-ABCDE')
info_mock.assert_called_once_with()
assert not install_mock.called
activate_mock.assert_called_once_with()
self.assertEqual(out, expected)
if __name__ == '__main__':
from integration import run_tests
run_tests(LicenseTestCase, needs_daemon=False)