mirror of
https://github.com/valitydev/salt.git
synced 2024-11-07 08:58:59 +00:00
a78bbd0544
* modules.mac_assistive int tests: wrap args in list * modules.mac_assistive.install: match schema on El Capitan * modules.mac_assistive: remove redundant LooseVersion * modules.mac_assistive unit tests: mock __grains__
147 lines
5.4 KiB
Python
147 lines
5.4 KiB
Python
# -*- coding: utf-8 -*-
|
|
|
|
# Import Python libs
|
|
from __future__ import absolute_import
|
|
|
|
# Import Salt Testing Libs
|
|
from salttesting import TestCase
|
|
from salttesting.helpers import ensure_in_syspath
|
|
from salttesting.mock import (
|
|
MagicMock,
|
|
patch
|
|
)
|
|
|
|
ensure_in_syspath('../../')
|
|
|
|
# Import Salt Libs
|
|
from salt.exceptions import CommandExecutionError
|
|
from salt.modules import mac_assistive as assistive
|
|
|
|
assistive.__salt__ = {}
|
|
assistive.__grains__ = {}
|
|
|
|
|
|
class AssistiveTestCase(TestCase):
|
|
|
|
def test_install_assistive_bundle(self):
|
|
'''
|
|
Test installing a bundle ID as being allowed to run with assistive access
|
|
'''
|
|
mock_ret = MagicMock(return_value={'retcode': 0})
|
|
with patch.dict(assistive.__salt__, {'cmd.run_all': mock_ret}):
|
|
with patch.dict(assistive.__grains__, {'osrelease': '10.11.3'}):
|
|
self.assertTrue(assistive.install('foo'))
|
|
|
|
def test_install_assistive_error(self):
|
|
'''
|
|
Test installing a bundle ID as being allowed to run with assistive access
|
|
'''
|
|
mock_ret = MagicMock(return_value={'retcode': 1})
|
|
with patch.dict(assistive.__salt__, {'cmd.run_all': mock_ret}):
|
|
with patch.dict(assistive.__grains__, {'osrelease': '10.11.3'}):
|
|
self.assertRaises(CommandExecutionError, assistive.install, 'foo')
|
|
|
|
@patch('salt.modules.mac_assistive._get_assistive_access', MagicMock(return_value=[('foo', 0)]))
|
|
def test_installed_bundle(self):
|
|
'''
|
|
Test checking to see if a bundle id is installed as being able to use assistive access
|
|
'''
|
|
self.assertTrue(assistive.installed('foo'))
|
|
|
|
@patch('salt.modules.mac_assistive._get_assistive_access',
|
|
MagicMock(return_value=[]))
|
|
def test_installed_bundle_not(self):
|
|
'''
|
|
Test checking to see if a bundle id is installed as being able to use assistive access
|
|
'''
|
|
self.assertFalse(assistive.installed('foo'))
|
|
|
|
@patch('salt.modules.mac_assistive._get_assistive_access',
|
|
MagicMock(return_value=[('foo', 0)]))
|
|
def test_enable_assistive(self):
|
|
'''
|
|
Test enabling a bundle ID as being allowed to run with assistive access
|
|
'''
|
|
mock_ret = MagicMock(return_value={'retcode': 0})
|
|
with patch.dict(assistive.__salt__, {'cmd.run_all': mock_ret}):
|
|
self.assertTrue(assistive.enable('foo', True))
|
|
|
|
@patch('salt.modules.mac_assistive._get_assistive_access',
|
|
MagicMock(return_value=[('foo', 0)]))
|
|
def test_enable_error(self):
|
|
'''
|
|
Test enabled a bundle ID that throws a command error
|
|
'''
|
|
mock_ret = MagicMock(return_value={'retcode': 1})
|
|
with patch.dict(assistive.__salt__, {'cmd.run_all': mock_ret}):
|
|
self.assertRaises(CommandExecutionError,
|
|
assistive.enable,
|
|
'foo')
|
|
|
|
@patch('salt.modules.mac_assistive._get_assistive_access',
|
|
MagicMock(return_value=[]))
|
|
def test_enable_false(self):
|
|
'''
|
|
Test return of enable function when app isn't found.
|
|
'''
|
|
self.assertFalse(assistive.enable('foo'))
|
|
|
|
@patch('salt.modules.mac_assistive._get_assistive_access',
|
|
MagicMock(return_value=[('foo', '1')]))
|
|
def test_enabled_assistive(self):
|
|
'''
|
|
Test enabling a bundle ID as being allowed to run with assistive access
|
|
'''
|
|
self.assertTrue(assistive.enabled('foo'))
|
|
|
|
@patch('salt.modules.mac_assistive._get_assistive_access',
|
|
MagicMock(return_value=[]))
|
|
def test_enabled_assistive_false(self):
|
|
'''
|
|
Test if a bundle ID is disabled for assistive access
|
|
'''
|
|
self.assertFalse(assistive.enabled('foo'))
|
|
|
|
def test_remove_assistive(self):
|
|
'''
|
|
Test removing an assitive bundle.
|
|
'''
|
|
mock_ret = MagicMock(return_value={'retcode': 0})
|
|
with patch.dict(assistive.__salt__, {'cmd.run_all': mock_ret}):
|
|
self.assertTrue(assistive.remove('foo'))
|
|
|
|
def test_remove_assistive_error(self):
|
|
'''
|
|
Test removing an assitive bundle.
|
|
'''
|
|
mock_ret = MagicMock(return_value={'retcode': 1})
|
|
with patch.dict(assistive.__salt__, {'cmd.run_all': mock_ret}):
|
|
self.assertRaises(CommandExecutionError,
|
|
assistive.remove,
|
|
'foo')
|
|
|
|
def test_get_assistive_access(self):
|
|
'''
|
|
Test if a bundle ID is enabled for assistive access
|
|
'''
|
|
mock_out = 'kTCCServiceAccessibility|/bin/bash|1|1|1|\n' \
|
|
'kTCCServiceAccessibility|/usr/bin/osascript|1|1|1|'
|
|
mock_ret = MagicMock(return_value={'retcode': 0, 'stdout': mock_out})
|
|
expected = [('/bin/bash', '1'), ('/usr/bin/osascript', '1')]
|
|
with patch.dict(assistive.__salt__, {'cmd.run_all': mock_ret}):
|
|
self.assertEqual(assistive._get_assistive_access(), expected)
|
|
|
|
def test_get_assistive_access_error(self):
|
|
'''
|
|
Test a CommandExecutionError is raised when something goes wrong.
|
|
'''
|
|
mock_ret = MagicMock(return_value={'retcode': 1})
|
|
with patch.dict(assistive.__salt__, {'cmd.run_all': mock_ret}):
|
|
self.assertRaises(CommandExecutionError,
|
|
assistive._get_assistive_access)
|
|
|
|
|
|
if __name__ == '__main__':
|
|
from integration import run_tests
|
|
run_tests(AssistiveTestCase, needs_daemon=False)
|