Skip to content

Commit 6133c04

Browse files
committed
Created more rigorous tests
1 parent 6f094ec commit 6133c04

File tree

1 file changed

+27
-17
lines changed

1 file changed

+27
-17
lines changed

tests/integration/account/test_account.py

Lines changed: 27 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
from databricks.labs.blueprint.tui import MockPrompts
55
from databricks.sdk import AccountClient
66
from databricks.sdk.retries import retried
7-
from databricks.sdk.service.iam import Group
7+
from databricks.sdk.service.iam import Group, User
88

99
from databricks.labs.ucx.account.workspaces import AccountWorkspaces
1010

@@ -70,24 +70,31 @@ def test_create_account_level_groups_nested_groups(
7070
make_group, make_user, acc, ws, make_random, clean_account_level_groups, watchdog_purge_suffix, runtime_ctx, caplog
7171
):
7272
suffix = f"{make_random(4).lower()}-{watchdog_purge_suffix}"
73-
regular_group = make_group(
74-
display_name=f"created_by_ucx_regular_group1-{suffix}", members=[make_user().id, make_user().id]
73+
# Test groups:
74+
# group_a (group_b, group_c)
75+
# group_b (user1, user2, group_d)
76+
# group_c (group_d)
77+
# group_d (user3, user4)
78+
79+
users = list[User]()
80+
for i in range(4):
81+
users.append(make_user())
82+
83+
group_d = make_group(
84+
display_name=f"created_by_ucx_regular_group_d-{suffix}", members=[users[2].id, users[3].id]
7585
)
76-
make_group(
77-
display_name=f"created_by_ucx_regular_group_standalone-{suffix}", members=[make_user().id, make_user().id]
86+
group_c = make_group(
87+
display_name=f"created_by_ucx_regular_group_c-{suffix}", members=[group_d.id]
7888
)
79-
80-
group_display_name = f"created_by_ucx_nested_group1-{suffix}"
81-
nested_group = make_group(display_name=group_display_name, members=[make_user().id, regular_group.id])
82-
AccountWorkspaces(acc, [ws.get_workspace_id()]).create_account_level_groups(MockPrompts({}))
83-
regular_group2 = make_group(
84-
display_name=f"created_by_ucx_regular_group2-{suffix}", members=[make_user().id, make_user().id]
89+
group_b = make_group(
90+
display_name=f"created_by_ucx_regular_group_b-{suffix}", members=[users[0].id, users[1].id, group_d.id]
8591
)
86-
make_group(
87-
display_name=f"created_by_ucx_nested_group2-{suffix}",
88-
members=[make_user().id, regular_group.id, regular_group2.id],
92+
group_a = make_group(
93+
display_name=f"created_by_ucx_regular_group_a-{suffix}", members=[group_b.id, group_c.id]
8994
)
9095

96+
ws_groups = [group_a, group_b, group_c, group_d]
97+
9198
AccountWorkspaces(acc, [ws.get_workspace_id()]).create_account_level_groups(MockPrompts({}))
9299

93100
@retried(on=[KeyError], timeout=timedelta(minutes=2))
@@ -97,9 +104,12 @@ def get_group(display_name: str) -> Group:
97104
return grp
98105
raise KeyError(f"Group not found {display_name}")
99106

100-
group = get_group(group_display_name)
101-
assert group
102-
assert len(group.members) == len(nested_group.members)
107+
108+
for ws_group in ws_groups:
109+
group_display_name = ws_group.display_name
110+
group = get_group(group_display_name)
111+
assert group
112+
assert len(group.members) == len(ws_group.members)
103113

104114
runtime_ctx.group_manager.validate_group_membership()
105115

0 commit comments

Comments
 (0)