salt/tests/integration/modules/test_mac_desktop.py

101 lines
2.6 KiB
Python
Raw Normal View History

# -*- coding: utf-8 -*-
'''
Integration tests for the mac_desktop execution module.
'''
# Import Python Libs
from __future__ import absolute_import
import os
# Import Salt Testing Libs
from salttesting import skipIf
from salttesting.helpers import (
destructiveTest,
ensure_in_syspath,
requires_system_grains
)
ensure_in_syspath('../../')
# Import Salt Libs
import integration
@skipIf(os.geteuid() != 0, 'You must be logged in as root to run this test')
class MacDesktopTestCase(integration.ModuleCase):
'''
Integration tests for the mac_desktop module.
'''
def setUp(self):
'''
Sets up test requirements.
'''
os_grain = self.run_function('grains.item', ['kernel'])
if os_grain['kernel'] not in 'Darwin':
self.skipTest(
'Test not applicable to \'{kernel}\' kernel'.format(
**os_grain
)
)
@requires_system_grains
def test_get_output_volume(self, grains=None):
'''
Tests the return of get_output_volume.
'''
ret = self.run_function('desktop.get_output_volume')
self.assertIsNotNone(ret)
@destructiveTest
@requires_system_grains
def test_set_output_volume(self, grains=None):
'''
Tests the return of set_output_volume.
'''
current_vol = self.run_function('desktop.get_output_volume')
to_set = 10
if current_vol == str(to_set):
to_set += 2
new_vol = self.run_function('desktop.set_output_volume', [str(to_set)])
check_vol = self.run_function('desktop.get_output_volume')
self.assertEqual(new_vol, check_vol)
# Set volume back to what it was before
self.run_function('desktop.set_output_volume', [current_vol])
@destructiveTest
@requires_system_grains
def test_screensaver(self, grains=None):
'''
Tests the return of the screensaver function.
'''
self.assertTrue(
self.run_function('desktop.screensaver')
)
@destructiveTest
@requires_system_grains
def test_lock(self, grains=None):
'''
Tests the return of the lock function.
'''
self.assertTrue(
self.run_function('desktop.lock')
)
@destructiveTest
@requires_system_grains
def test_say(self, grains=None):
'''
Tests the return of the say function.
'''
self.assertTrue(
self.run_function('desktop.say', ['hello', 'world'])
)
if __name__ == '__main__':
from integration import run_tests
run_tests(MacDesktopTestCase)