Skip to content

Commit

Permalink
target_suitecrm: add tests for excluding users from user cleanup
Browse files Browse the repository at this point in the history
  • Loading branch information
thinkl33t committed Dec 8, 2023
1 parent 4c9d994 commit fdec633
Showing 1 changed file with 39 additions and 8 deletions.
47 changes: 39 additions & 8 deletions tests/test_target_suitecrm.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ def fixture_basic_config():
"api_password": "bitnami",
"api_client_id": "asd",
"api_client_secret": "secret",
"excluded_usernames": ["excluded"]
}
return config

Expand All @@ -34,6 +35,7 @@ def fixture_users_disable_config():
"api_client_id": "asd",
"api_client_secret": "secret",
"delete_absent_users": False,
"excluded_usernames": ["excluded"]
}
return config

Expand Down Expand Up @@ -388,26 +390,39 @@ def test_user_delete(basic_target, suitecrm_server):
"status": "Active",
}
)
server.create_user(
{
"user_name": "excluded",
"first_name": "Ernie",
"last_name": "Excluded",
"email1": "ernie.excluded@example.org",
"status": "Active",
}
)

remaining_user = User(
"adalice", forename="Ad", surname="Alice", email=("ad.alice@example.org",)
)
deleted_user = User(
"basicuser", forename="Basic", surname="Bob", email=("basic.bob@example.org",)
)
remaining_user = User(
"adalice", forename="Ad", surname="Alice", email=("ad.alice@example.org",)
excluded_user = User(
"excluded", forename="Ernie", surname="Excluded", email=("ernie.excluded@example.org",)
)

diff = ModelDifference(
source_users={"basicuser": deleted_user, "adAlice": remaining_user},
source_users={"adAlice": remaining_user, "basicuser": deleted_user, "excluded": excluded_user},
target_users={"adAlice": remaining_user},
added_users={},
changed_users={},
unchanged_users={"adAlice": remaining_user},
removed_users={"basicuser": deleted_user},
removed_users={"basicuser": deleted_user, "excluded": excluded_user},
)

basic_target.users_cleanup(diff)
users = server.search_by_type("User")
assert users[0]["attributes"]["first_name"] == "Ad"
assert users[1]["attributes"]["first_name"] == "Ernie"

def test_users_disable(users_disable_target, suitecrm_server):
"""Delete a user and check it's been deleted"""
Expand All @@ -431,28 +446,44 @@ def test_users_disable(users_disable_target, suitecrm_server):
"status": "Active",
}
)
server.create_user(
{
"user_name": "excluded",
"first_name": "Ernie",
"last_name": "Excluded",
"email1": "ernie.excluded@example.org",
"status": "Active",
}
)

remaining_user = User(
"adalice", forename="Ad", surname="Alice", email=("ad.alice@example.org",)
)
deleted_user = User(
"basicuser", forename="Basic", surname="Bob", email=("basic.bob@example.org",)
)
remaining_user = User(
"adalice", forename="Ad", surname="Alice", email=("ad.alice@example.org",)
excluded_user = User(
"excluded", forename="Ernie", surname="Excluded", email=("ernie.excluded@example.org",)
)

diff = ModelDifference(
source_users={"adAlice": remaining_user, "basicuser": deleted_user},
source_users={"adAlice": remaining_user, "basicuser": deleted_user, "excluded": excluded_user},
target_users={"adAlice": remaining_user},
added_users={},
changed_users={},
unchanged_users={"adAlice": remaining_user},
removed_users={"basicuser": deleted_user},
removed_users={"basicuser": deleted_user, "excluded": excluded_user},
)

users_disable_target.users_cleanup(diff)
users = server.search_by_type("User")
assert users[0]["attributes"]["first_name"] == "Ad"
assert users[0]["attributes"]["status"] == "Active"
assert users[1]["attributes"]["first_name"] == "Basic"
assert users[1]["attributes"]["status"] == "Inactive"
assert users[2]["attributes"]["first_name"] == "Ernie"
assert users[2]["attributes"]["status"] == "Active"


def test_groups_emails_sync_no_changes(basic_config, suitecrm_server):
"""Test that when a user is part of a group with an E-mail address,
Expand Down

0 comments on commit fdec633

Please sign in to comment.