123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- # -*- coding: utf-8 -*-
- """
- :codeauthor: Nicole Thomas <nicole@saltstack.com>
- """
- from __future__ import absolute_import, print_function, unicode_literals
- import pytest
- from tests.support.case import ModuleCase
- OSA_SCRIPT = "/usr/bin/osascript"
- @pytest.mark.destructive_test
- @pytest.mark.skip_if_not_root
- @pytest.mark.skip_unless_on_darwin
- class MacAssistiveTest(ModuleCase):
- """
- Integration tests for the mac_assistive module.
- """
- def setUp(self):
- """
- Sets up test requirements
- """
- # Let's install a bundle to use in tests
- self.run_function("assistive.install", [OSA_SCRIPT, True])
- def tearDown(self):
- """
- Clean up after tests
- """
- # Delete any bundles that were installed
- osa_script = self.run_function("assistive.installed", [OSA_SCRIPT])
- if osa_script:
- self.run_function("assistive.remove", [OSA_SCRIPT])
- smile_bundle = "com.smileonmymac.textexpander"
- smile_bundle_present = self.run_function("assistive.installed", [smile_bundle])
- if smile_bundle_present:
- self.run_function("assistive.remove", [smile_bundle])
- @pytest.mark.slow_test(seconds=5) # Test takes >1 and <=5 seconds
- def test_install_and_remove(self):
- """
- Tests installing and removing a bundled ID or command to use assistive access.
- """
- new_bundle = "com.smileonmymac.textexpander"
- self.assertTrue(self.run_function("assistive.install", [new_bundle]))
- self.assertTrue(self.run_function("assistive.remove", [new_bundle]))
- @pytest.mark.slow_test(seconds=5) # Test takes >1 and <=5 seconds
- def test_installed(self):
- """
- Tests the True and False return of assistive.installed.
- """
- # OSA script should have been installed in setUp function
- self.assertTrue(self.run_function("assistive.installed", [OSA_SCRIPT]))
- # Clean up install
- self.run_function("assistive.remove", [OSA_SCRIPT])
- # Installed should now return False
- self.assertFalse(self.run_function("assistive.installed", [OSA_SCRIPT]))
- @pytest.mark.slow_test(seconds=5) # Test takes >1 and <=5 seconds
- def test_enable(self):
- """
- Tests setting the enabled status of a bundled ID or command.
- """
- # OSA script should have been installed and enabled in setUp function
- # Now let's disable it, which should return True.
- self.assertTrue(self.run_function("assistive.enable", [OSA_SCRIPT, False]))
- # Double check the script was disabled, as intended.
- self.assertFalse(self.run_function("assistive.enabled", [OSA_SCRIPT]))
- # Now re-enable
- self.assertTrue(self.run_function("assistive.enable", [OSA_SCRIPT]))
- # Double check the script was enabled, as intended.
- self.assertTrue(self.run_function("assistive.enabled", [OSA_SCRIPT]))
- @pytest.mark.slow_test(seconds=5) # Test takes >1 and <=5 seconds
- def test_enabled(self):
- """
- Tests if a bundled ID or command is listed in assistive access returns True.
- """
- # OSA script should have been installed in setUp function, which sets
- # enabled to True by default.
- self.assertTrue(self.run_function("assistive.enabled", [OSA_SCRIPT]))
- # Disable OSA Script
- self.run_function("assistive.enable", [OSA_SCRIPT, False])
- # Assert against new disabled status
- self.assertFalse(self.run_function("assistive.enabled", [OSA_SCRIPT]))
|