Skip to content

Commit

Permalink
make sure IPA_CONFDIR is used to check that client is configured
Browse files Browse the repository at this point in the history
Fixes a test ipatests/test_cmdline/test_cli.py:test_cli_fs_encoding()
which sets IPA_CONFDIR and attempts to interpret the resulting error
message. However, if the test is run on an enrolled machine (a
developer's laptop, for example), check_client_configuration() will
succeed because it ignores IPA_CONFDIR and, as result, api.finalize()
will fail later with a stacktrace.

Pass an environment object and test an overridden config file existence
in this case to fail with a proper and expected message.

Reviewed-By: Christian Heimes <cheimes@redhat.com>
  • Loading branch information
abbra authored and stanislavlevin committed Jul 15, 2019
1 parent 9d85c7e commit 2d08102
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 4 deletions.
2 changes: 1 addition & 1 deletion ipalib/cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -1454,7 +1454,7 @@ def run(api):
(_options, argv) = api.bootstrap_with_global_options(context='cli')

try:
check_client_configuration()
check_client_configuration(env=api.env)
except ScriptError as e:
sys.exit(e)

Expand Down
7 changes: 4 additions & 3 deletions ipalib/util.py
Original file line number Diff line number Diff line change
Expand Up @@ -1122,15 +1122,16 @@ def ensure_krbcanonicalname_set(ldap, entry_attrs):
entry_attrs.update(old_entry)


def check_client_configuration():
def check_client_configuration(env=None):
"""
Check if IPA client is configured on the system.
Hardcode return code to avoid recursive imports
"""
if (not os.path.isfile(paths.IPA_DEFAULT_CONF) or
if ((env is not None and not os.path.isfile(env.conf_default)) or
(not os.path.isfile(paths.IPA_DEFAULT_CONF) or
not os.path.isdir(paths.IPA_CLIENT_SYSRESTORE) or
not os.listdir(paths.IPA_CLIENT_SYSRESTORE)):
not os.listdir(paths.IPA_CLIENT_SYSRESTORE))):
raise ScriptError('IPA client is not configured on this system',
2) # CLIENT_NOT_CONFIGURED

Expand Down

0 comments on commit 2d08102

Please sign in to comment.