ipasmartcard_server_get_vars: Fix for ansible-test fake execution test

All imports that are only available after installing IPA need to be in a
try exception clause to be able to pass the fake execution test.

If the imports can not be done, all used and needed attributes are
defined with the value None, MODULE_IMPORT_ERROR is set to the import
error and fail_json is called.
This commit is contained in:
Thomas Woerner
2022-09-14 19:56:28 +02:00
parent 433d1096f8
commit 5a2675e375

View File

@@ -116,22 +116,29 @@ python_interpreter:
import sys import sys
from ansible.module_utils.basic import AnsibleModule from ansible.module_utils.basic import AnsibleModule
from ipaplatform.paths import paths
try: try:
from ipaserver.install.httpinstance import OCSP_ENABLED, OCSP_DIRECTIVE from ipaplatform.paths import paths
NSS_OCSP_ENABLED = "" try:
NSS_OCSP_DIRECTIVE = "" from ipaserver.install.httpinstance import OCSP_ENABLED, OCSP_DIRECTIVE
NSS_NICKNAME_DIRECTIVE = "" NSS_OCSP_ENABLED = ""
except ImportError: NSS_OCSP_DIRECTIVE = ""
from ipaserver.install.httpinstance import NSS_OCSP_ENABLED NSS_NICKNAME_DIRECTIVE = ""
NSS_OCSP_DIRECTIVE = "NSSOCSP" except ImportError:
NSS_NICKNAME_DIRECTIVE = "NSSNickname" from ipaserver.install.httpinstance import NSS_OCSP_ENABLED
OCSP_ENABLED = "" NSS_OCSP_DIRECTIVE = "NSSOCSP"
OCSP_DIRECTIVE = "" NSS_NICKNAME_DIRECTIVE = "NSSNickname"
try: OCSP_ENABLED = ""
from ipaclient.install.client import sssd_enable_ifp OCSP_DIRECTIVE = ""
except ImportError: try:
from ipaclient.install.client import sssd_enable_ifp
except ImportError:
sssd_enable_ifp = None
except ImportError as _err:
MODULE_IMPORT_ERROR = str(_err)
paths = None
sssd_enable_ifp = None sssd_enable_ifp = None
else:
MODULE_IMPORT_ERROR = None
def main(): def main():
@@ -140,6 +147,9 @@ def main():
supports_check_mode=False, supports_check_mode=False,
) )
if MODULE_IMPORT_ERROR is not None:
ansible_module.fail_json(msg=MODULE_IMPORT_ERROR)
ansible_module.exit_json(changed=False, ansible_module.exit_json(changed=False,
NSS_OCSP_ENABLED=NSS_OCSP_ENABLED, NSS_OCSP_ENABLED=NSS_OCSP_ENABLED,
NSS_OCSP_DIRECTIVE=NSS_OCSP_DIRECTIVE, NSS_OCSP_DIRECTIVE=NSS_OCSP_DIRECTIVE,