Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[master] migrating mac module integration tests to pytest. #65530

Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
20570ad
migrating mac module integration tests to pytest.
garethgreenaway Nov 9, 2023
705cdb0
Fixing test_mac_brew_pkg failures.
garethgreenaway Nov 9, 2023
97ee142
fixing test_mac_assistive.py
garethgreenaway Nov 10, 2023
071074b
fixing test_mac_desktop.py
garethgreenaway Nov 10, 2023
5853b87
fixing references to what is returned from salt_call_cli.
garethgreenaway Nov 13, 2023
1f3ac8d
change sysctl setting we use to account for Mac OS X 13.
garethgreenaway Nov 13, 2023
350f4fd
Merge remote-tracking branch 'upstream/master' into migrate_mac_integ…
garethgreenaway Nov 13, 2023
d980f0f
A couple more fixes to the salt_call_cli results.
garethgreenaway Nov 13, 2023
6f76cf9
more changes to mac tests.
garethgreenaway Nov 14, 2023
a24cc91
Adding more fixes for failing mac tests.
garethgreenaway Nov 15, 2023
5bf6dc5
Update test_mac_keychain.py::test_get_friendly_name to reflect changes.
garethgreenaway Nov 15, 2023
47fa609
fixing test_mac_user_changes and test_mac_keychain_get_friendly_name
garethgreenaway Nov 15, 2023
1b68610
fixing failing unit tests.
garethgreenaway Nov 16, 2023
eff3e3d
move test_mac_brew_pkg.py integration tests to functional.
garethgreenaway Nov 17, 2023
817ae82
Add an assert to make sure the cert_alias is in the list of certs.
garethgreenaway Nov 17, 2023
412370f
allow SSH before slow tests start
garethgreenaway Nov 17, 2023
82c9d4c
Only use legacy=True if openssl version is greater than or equal to 3…
garethgreenaway Nov 17, 2023
39d6e5f
Update test_mac_keychain.py
garethgreenaway Nov 18, 2023
1dd2269
Update mac_keychain.py
garethgreenaway Nov 18, 2023
118a0aa
Update test_mac_keychain.py
garethgreenaway Nov 18, 2023
95ec32c
add in SSH debugging again.
garethgreenaway Nov 18, 2023
f9af1d4
fixing the logic to retreive version for openssl. remove ssh debug.
garethgreenaway Nov 18, 2023
a08d715
adding a couple of checks to ensure the test runs as expected and if …
garethgreenaway Nov 19, 2023
70dfb5c
suggested changes
garethgreenaway Nov 20, 2023
47eed7a
converting remain Mac integration tests to functional.
garethgreenaway Nov 20, 2023
39712a8
fixing test_mac_group tests.
garethgreenaway Nov 20, 2023
80ba0f6
fixing test_mac_desktop.py test_mac_keychain.py test_mac_power.py tes…
garethgreenaway Nov 20, 2023
9fdd640
fixes to test_mac_service.py
garethgreenaway Nov 20, 2023
24d56cc
removing __utils__
garethgreenaway Nov 21, 2023
975130b
fixses and a skip added to test_mac_shadow.py test_mac_softwareupdate.py
garethgreenaway Nov 21, 2023
c061f15
more fixes related to migrating the mac tests over to functional tests
garethgreenaway Nov 22, 2023
63d2616
Just run the required fixtures, for the tests needing them
s0undt3ch Nov 22, 2023
fd75e40
removing fixture from mac_assistant tests.
garethgreenaway Nov 22, 2023
49cc7f5
restore the pytest.raises calls to catch the exceptions.
garethgreenaway Nov 22, 2023
2193898
fixing setup fixture for test_mac_group to cleanup properly after eac…
garethgreenaway Nov 22, 2023
3d375b7
remove skip for timezone tests
garethgreenaway Nov 22, 2023
79da7db
unskips and fixes to test_mac_timezone.py
garethgreenaway Nov 22, 2023
bd076b9
Adding a check to skip mac_assistive tests if the osa_script is unabl…
garethgreenaway Nov 23, 2023
2bc9d08
Merge branch 'master' into migrate_mac_integration_tests
garethgreenaway Nov 24, 2023
a8c0fb9
Merge branch 'master' into migrate_mac_integration_tests
garethgreenaway Nov 28, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 15 additions & 4 deletions salt/modules/mac_keychain.py
Original file line number Diff line number Diff line change
Expand Up @@ -122,14 +122,14 @@ def list_certs(keychain="/Library/Keychains/System.keychain"):
salt '*' keychain.list_certs
"""
cmd = (
'security find-certificate -a {} | grep -o "alis".*\\" | '
'security find-certificate -a {} | grep -o "alis.*" | '
"grep -o '\\\"[-A-Za-z0-9.:() ]*\\\"'".format(shlex.quote(keychain))
)
out = __salt__["cmd.run"](cmd, python_shell=True)
return out.replace('"', "").split("\n")


def get_friendly_name(cert, password):
def get_friendly_name(cert, password, legacy=False):
"""
Get the friendly name of the given certificate

Expand All @@ -143,15 +143,26 @@ def get_friendly_name(cert, password):
Note: The password given here will show up as plaintext in the returned job
info.

legacy
Assume legacy format for certificate.

CLI Example:

.. code-block:: bash

salt '*' keychain.get_friendly_name /tmp/test.p12 test123

salt '*' keychain.get_friendly_name /tmp/test.p12 test123 legacy=True
"""
openssl_cmd = "openssl pkcs12"
if legacy:
openssl_cmd = f"{openssl_cmd} -legacy"

cmd = (
"openssl pkcs12 -in {} -passin pass:{} -info -nodes -nokeys 2> /dev/null | "
"grep friendlyName:".format(shlex.quote(cert), shlex.quote(password))
"{} -in {} -passin pass:{} -info -nodes -nokeys 2> /dev/null | "
"grep friendlyName:".format(
openssl_cmd, shlex.quote(cert), shlex.quote(password)
)
)
out = __salt__["cmd.run"](cmd, python_shell=True)
return out.replace("friendlyName: ", "").strip()
Expand Down
24 changes: 14 additions & 10 deletions salt/modules/mac_power.py
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ def _validate_sleep(minutes):
)
raise SaltInvocationError(msg)
else:
msg = "Unknown Variable Type Passed for Minutes.\nPassed: {}".format(minutes)
msg = f"Unknown Variable Type Passed for Minutes.\nPassed: {minutes}"
raise SaltInvocationError(msg)


Expand Down Expand Up @@ -115,7 +115,7 @@ def set_sleep(minutes):
salt '*' power.set_sleep never
"""
value = _validate_sleep(minutes)
cmd = "systemsetup -setsleep {}".format(value)
cmd = f"systemsetup -setsleep {value}"
salt.utils.mac_utils.execute_return_success(cmd)

state = []
Expand Down Expand Up @@ -165,7 +165,7 @@ def set_computer_sleep(minutes):
salt '*' power.set_computer_sleep off
"""
value = _validate_sleep(minutes)
cmd = "systemsetup -setcomputersleep {}".format(value)
cmd = f"systemsetup -setcomputersleep {value}"
salt.utils.mac_utils.execute_return_success(cmd)

return salt.utils.mac_utils.confirm_updated(
Expand Down Expand Up @@ -210,7 +210,7 @@ def set_display_sleep(minutes):
salt '*' power.set_display_sleep off
"""
value = _validate_sleep(minutes)
cmd = "systemsetup -setdisplaysleep {}".format(value)
cmd = f"systemsetup -setdisplaysleep {value}"
salt.utils.mac_utils.execute_return_success(cmd)

return salt.utils.mac_utils.confirm_updated(
Expand Down Expand Up @@ -255,7 +255,7 @@ def set_harddisk_sleep(minutes):
salt '*' power.set_harddisk_sleep off
"""
value = _validate_sleep(minutes)
cmd = "systemsetup -setharddisksleep {}".format(value)
cmd = f"systemsetup -setharddisksleep {value}"
salt.utils.mac_utils.execute_return_success(cmd)

return salt.utils.mac_utils.confirm_updated(
Expand Down Expand Up @@ -303,12 +303,13 @@ def set_wake_on_modem(enabled):
salt '*' power.set_wake_on_modem True
"""
state = salt.utils.mac_utils.validate_enabled(enabled)
cmd = "systemsetup -setwakeonmodem {}".format(state)
cmd = f"systemsetup -setwakeonmodem {state}"
salt.utils.mac_utils.execute_return_success(cmd)

return salt.utils.mac_utils.confirm_updated(
state,
get_wake_on_modem,
True,
)


Expand Down Expand Up @@ -353,12 +354,13 @@ def set_wake_on_network(enabled):
salt '*' power.set_wake_on_network True
"""
state = salt.utils.mac_utils.validate_enabled(enabled)
cmd = "systemsetup -setwakeonnetworkaccess {}".format(state)
cmd = f"systemsetup -setwakeonnetworkaccess {state}"
salt.utils.mac_utils.execute_return_success(cmd)

return salt.utils.mac_utils.confirm_updated(
state,
get_wake_on_network,
True,
)


Expand Down Expand Up @@ -403,12 +405,13 @@ def set_restart_power_failure(enabled):
salt '*' power.set_restart_power_failure True
"""
state = salt.utils.mac_utils.validate_enabled(enabled)
cmd = "systemsetup -setrestartpowerfailure {}".format(state)
cmd = f"systemsetup -setrestartpowerfailure {state}"
salt.utils.mac_utils.execute_return_success(cmd)

return salt.utils.mac_utils.confirm_updated(
state,
get_restart_power_failure,
True,
)


Expand Down Expand Up @@ -453,7 +456,7 @@ def set_restart_freeze(enabled):
salt '*' power.set_restart_freeze True
"""
state = salt.utils.mac_utils.validate_enabled(enabled)
cmd = "systemsetup -setrestartfreeze {}".format(state)
cmd = f"systemsetup -setrestartfreeze {state}"
salt.utils.mac_utils.execute_return_success(cmd)

return salt.utils.mac_utils.confirm_updated(state, get_restart_freeze, True)
Expand Down Expand Up @@ -502,10 +505,11 @@ def set_sleep_on_power_button(enabled):
salt '*' power.set_sleep_on_power_button True
"""
state = salt.utils.mac_utils.validate_enabled(enabled)
cmd = "systemsetup -setallowpowerbuttontosleepcomputer {}".format(state)
cmd = f"systemsetup -setallowpowerbuttontosleepcomputer {state}"
salt.utils.mac_utils.execute_return_success(cmd)

return salt.utils.mac_utils.confirm_updated(
state,
get_sleep_on_power_button,
True,
)
Loading
Loading