mirror of
https://github.com/freeipa/ansible-freeipa.git
synced 2026-07-31 11:54:47 +00:00
ipapwpolicy: Modify handling of usercheck and dictcheck
Modified handling of boolean values by using Ansible's 'boolean()' check function so that a string can be used and either a bool value is accepted or an empty string. As the error message was changed to use the same Ansible message, tests were also updated.
This commit is contained in:
@@ -151,7 +151,7 @@ RETURN = """
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
from ansible.module_utils.ansible_freeipa_module import \
|
from ansible.module_utils.ansible_freeipa_module import \
|
||||||
IPAAnsibleModule, compare_args_ipa
|
IPAAnsibleModule, compare_args_ipa, boolean
|
||||||
|
|
||||||
|
|
||||||
def find_pwpolicy(module, name):
|
def find_pwpolicy(module, name):
|
||||||
@@ -359,17 +359,12 @@ def main():
|
|||||||
gracelimit = int_or_empty_param(gracelimit, "gracelimit")
|
gracelimit = int_or_empty_param(gracelimit, "gracelimit")
|
||||||
|
|
||||||
def bool_or_empty_param(value, param): # pylint: disable=R1710
|
def bool_or_empty_param(value, param): # pylint: disable=R1710
|
||||||
# As of Ansible 2.14, values True, False, Yes an No, with variable
|
if value is None or value == "":
|
||||||
# capitalization are accepted by Ansible.
|
|
||||||
if not value:
|
|
||||||
return value
|
return value
|
||||||
if value in ["TRUE", "True", "true", "YES", "Yes", "yes"]:
|
try:
|
||||||
return True
|
return boolean(value)
|
||||||
if value in ["FALSE", "False", "false", "NO", "No", "no"]:
|
except TypeError as terr:
|
||||||
return False
|
ansible_module.fail_json(msg="Param '%s': %s" % (param, str(terr)))
|
||||||
ansible_module.fail_json(
|
|
||||||
msg="Invalid value '%s' for argument '%s'." % (value, param)
|
|
||||||
)
|
|
||||||
|
|
||||||
dictcheck = bool_or_empty_param(dictcheck, "dictcheck")
|
dictcheck = bool_or_empty_param(dictcheck, "dictcheck")
|
||||||
usercheck = bool_or_empty_param(usercheck, "usercheck")
|
usercheck = bool_or_empty_param(usercheck, "usercheck")
|
||||||
|
|||||||
@@ -103,7 +103,7 @@
|
|||||||
name: ops
|
name: ops
|
||||||
dictcheck: "error"
|
dictcheck: "error"
|
||||||
register: result
|
register: result
|
||||||
failed_when: result.changed or (result.failed and "Invalid value 'error' for argument 'dictcheck" not in result.msg)
|
failed_when: result.changed or (result.failed and "is not a valid boolean" not in result.msg)
|
||||||
when: ipa_version is version("4.9", ">=")
|
when: ipa_version is version("4.9", ">=")
|
||||||
|
|
||||||
- name: Ensure invalid values for usercheck raise proper error.
|
- name: Ensure invalid values for usercheck raise proper error.
|
||||||
@@ -113,7 +113,7 @@
|
|||||||
name: ops
|
name: ops
|
||||||
usercheck: "error"
|
usercheck: "error"
|
||||||
register: result
|
register: result
|
||||||
failed_when: result.changed or (result.failed and "Invalid value 'error' for argument 'usercheck'" not in result.msg)
|
failed_when: result.changed or (result.failed and "is not a valid boolean" not in result.msg)
|
||||||
when: ipa_version is version("4.9", ">=")
|
when: ipa_version is version("4.9", ">=")
|
||||||
|
|
||||||
- name: Ensure invalid values for gracelimit raise proper error.
|
- name: Ensure invalid values for gracelimit raise proper error.
|
||||||
|
|||||||
Reference in New Issue
Block a user