salt/tests/unit/states/test_win_powercfg.py
rallytime e740d3b208
Merge branch '2017.7' into '2018.3'
Conflicts:
  - salt/client/ssh/state.py
  - salt/client/ssh/wrapper/state.py
  - salt/modules/dockermod.py
  - salt/modules/npm.py
  - salt/modules/testinframod.py
  - tests/integration/modules/test_mac_system.py
  - tests/integration/modules/test_mac_timezone.py
  - tests/integration/ssh/test_state.py
  - tests/integration/states/test_user.py
  - tests/unit/modules/test_npm.py
  - tests/unit/states/test_file.py
2018-07-23 11:15:43 -04:00

98 lines
3.5 KiB
Python

# -*- coding: utf-8 -*-
# Import Python libs
from __future__ import absolute_import, unicode_literals, print_function
# Import Salt Libs
import salt.states.win_powercfg as powercfg
# Import Salt Testing Libs
from tests.support.mixins import LoaderModuleMockMixin
from tests.support.unit import skipIf, TestCase
from tests.support.mock import (
NO_MOCK,
NO_MOCK_REASON,
MagicMock,
patch
)
@skipIf(NO_MOCK, NO_MOCK_REASON)
class PowerCfgTestCase(TestCase, LoaderModuleMockMixin):
'''
Validate the powercfg state
'''
def setup_loader_modules(self):
return {powercfg: {}}
def test_set_monitor(self):
'''
Test to make sure we can set the monitor timeout value
'''
ret = {
'changes': {
'monitor': {
'ac': {
'new': 0,
'old': 45
}
}
},
'comment': 'Monitor timeout on AC power set to 0',
'name': 'monitor',
'result': True}
get_monitor_side_effect = MagicMock(side_effect=[{"ac": 45, "dc": 22},
{"ac": 0, "dc": 22}])
with patch.dict(powercfg.__salt__,
{"powercfg.get_monitor_timeout": get_monitor_side_effect,
"powercfg.set_monitor_timeout": MagicMock(return_value=True)}):
with patch.dict(powercfg.__opts__, {"test": False}):
self.assertEqual(powercfg.set_timeout("monitor", 0), ret)
def test_set_monitor_already_set(self):
'''
Test to make sure we can set the monitor timeout value
'''
ret = {'changes': {},
'comment': 'Monitor timeout on AC power is already set to 0',
'name': 'monitor',
'result': True}
monitor_val = MagicMock(return_value={"ac": 0, "dc": 0})
with patch.dict(powercfg.__salt__, {"powercfg.get_monitor_timeout": monitor_val}):
self.assertEqual(powercfg.set_timeout("monitor", 0), ret)
def test_set_monitor_test_true_with_change(self):
'''
Test to make sure set monitor works correctly with test=True with
changes
'''
ret = {'changes': {},
'comment': 'Monitor timeout on AC power will be set to 0',
'name': 'monitor',
'result': None}
get_monitor_return_value = MagicMock(return_value={"ac": 45, "dc": 22})
with patch.dict(powercfg.__salt__, {"powercfg.get_monitor_timeout": get_monitor_return_value}):
with patch.dict(powercfg.__opts__, {"test": True}):
self.assertEqual(powercfg.set_timeout("monitor", 0), ret)
def test_fail_invalid_setting(self):
'''
Test to make sure we can set the monitor timeout value
'''
ret = {'changes': {},
'comment': '"fakesetting" is not a valid setting',
'name': 'fakesetting',
'result': False}
self.assertEqual(powercfg.set_timeout("fakesetting", 0), ret)
def test_fail_invalid_power(self):
'''
Test to make sure we can set the monitor timeout value
'''
ret = {'changes': {},
'comment': '"fakepower" is not a power type',
'name': 'monitor',
'result': False}
self.assertEqual(powercfg.set_timeout("monitor", 0, power="fakepower"),
ret)