Skip to content

Commit

Permalink
intg: flush the SSSD caches to sync with files
Browse files Browse the repository at this point in the history
To make sure that SSSD has synced with the latest data added to the
passwd file sss_cache is called in two places where the current sync
scheme was not reliable. This was mainly observed when running the
integration tests on Debian.

Reviewed-by: Jakub Hrozek <[email protected]>
  • Loading branch information
sumit-bose authored and jhrozek committed Sep 19, 2018
1 parent ac622b7 commit 1e23988
Showing 1 changed file with 8 additions and 0 deletions.
8 changes: 8 additions & 0 deletions src/tests/intg/test_files_provider.py
Original file line number Diff line number Diff line change
Expand Up @@ -644,6 +644,10 @@ def test_enum_users(setup_pw_with_canary, files_domain_only):
user = user_generator(i)
setup_pw_with_canary.useradd(**user)

# syncing with the help of the canary is not reliable after adding
# multiple users because the canary might still be in some caches so that
# the data is not refreshed properly.
subprocess.call(["sss_cache", "-E"])
sssd_getpwnam_sync(CANARY["name"])
user_list = call_sssd_enumeration()
# +1 because the canary is added
Expand Down Expand Up @@ -1043,6 +1047,10 @@ def test_getgrnam_add_remove_ghosts(setup_pw_with_canary,

# Add this user and verify it's been added as a member
pwd_ops.useradd(**USER2)
# The negative cache might still have user2 from the previous request,
# flushing the caches might help to prevent a failed lookup after adding
# the user.
subprocess.call(["sss_cache", "-E"])
res, groups = sssd_id_sync('user2')
assert res == sssd_id.NssReturnCode.SUCCESS
assert len(groups) == 2
Expand Down

0 comments on commit 1e23988

Please sign in to comment.