@@ -30,7 +30,6 @@ def _verify_group_permissions(
3030 objects : list | WorkspaceObjects | None ,
3131 id_attribute : str ,
3232 request_object_type : RequestObjectType | None ,
33- ws : WorkspaceClient ,
3433 toolkit : GroupMigrationToolkit ,
3534 target : Literal ["backup" , "account" ],
3635):
@@ -39,30 +38,7 @@ def _verify_group_permissions(
3938 f"{ request_object_type or id_attribute } were applied to { target } groups"
4039 )
4140
42- if id_attribute == "workspace_objects" :
43- _workspace_objects : WorkspaceObjects = objects
44-
45- # list of groups that source the permissions
46- comparison_base = [
47- getattr (mi , "workspace" if target == "backup" else "backup" )
48- for mi in toolkit .group_manager .migration_groups_provider .groups
49- ]
50- # list of groups that are the target of the permissions
51- comparison_target = [getattr (mi , target ) for mi in toolkit .group_manager .migration_groups_provider .groups ]
52-
53- root_permissions = ws .permissions .get (
54- request_object_type = RequestObjectType .DIRECTORIES , request_object_id = _workspace_objects .root_dir .object_id
55- )
56- base_group_names = [g .display_name for g in comparison_base ]
57- target_group_names = [g .display_name for g in comparison_target ]
58-
59- base_acls = [a for a in root_permissions .access_control_list if a .group_name in base_group_names ]
60-
61- target_acls = [a for a in root_permissions .access_control_list if a .group_name in target_group_names ]
62-
63- assert len (base_acls ) == len (target_acls )
64-
65- elif id_attribute == "secret_scopes" :
41+ if id_attribute == "secret_scopes" :
6642 for scope_name in objects :
6743 toolkit .permissions_manager .verify_applied_scope_acls (
6844 scope_name , toolkit .group_manager .migration_groups_provider , target
@@ -97,7 +73,6 @@ def test_e2e(
9773 env : EnvironmentInfo ,
9874 inventory_table : InventoryTable ,
9975 ws : WorkspaceClient ,
100- verifiable_objects : list [tuple [list , str , RequestObjectType | None ]],
10176 make_instance_pool ,
10277 make_instance_pool_permissions ,
10378 make_cluster ,
@@ -110,6 +85,10 @@ def test_e2e(
11085 make_experiment_permissions ,
11186 make_job ,
11287 make_job_permissions ,
88+ make_notebook ,
89+ make_notebook_permissions ,
90+ make_directory ,
91+ make_directory_permissions ,
11392 make_pipeline ,
11493 make_pipeline_permissions ,
11594 make_secret_scope ,
@@ -121,6 +100,8 @@ def test_e2e(
121100 logger .debug (f"Test environment: { env .test_uid } " )
122101 ws_group = env .groups [0 ][0 ]
123102
103+ verifiable_objects = []
104+
124105 pool = make_instance_pool ()
125106 make_instance_pool_permissions (
126107 object_id = pool .instance_pool_id ,
@@ -180,6 +161,31 @@ def test_e2e(
180161 ([experiment ], "experiment_id" , RequestObjectType .EXPERIMENTS ),
181162 )
182163
164+ directory = make_directory ()
165+ make_directory_permissions (
166+ object_id = directory ,
167+ permission_level = random .choice (
168+ [PermissionLevel .CAN_READ , PermissionLevel .CAN_MANAGE , PermissionLevel .CAN_EDIT , PermissionLevel .CAN_RUN ]
169+ ),
170+ group_name = ws_group .display_name ,
171+ )
172+
173+ verifiable_objects .append (
174+ ([ws .workspace .get_status (directory )], "object_id" , RequestObjectType .DIRECTORIES ),
175+ )
176+
177+ notebook = make_notebook (path = f"{ directory } /sample.py" )
178+ make_notebook_permissions (
179+ object_id = notebook ,
180+ permission_level = random .choice (
181+ [PermissionLevel .CAN_READ , PermissionLevel .CAN_MANAGE , PermissionLevel .CAN_EDIT , PermissionLevel .CAN_RUN ]
182+ ),
183+ group_name = ws_group .display_name ,
184+ )
185+ verifiable_objects .append (
186+ ([ws .workspace .get_status (notebook )], "object_id" , RequestObjectType .NOTEBOOKS ),
187+ )
188+
183189 job = make_job ()
184190 make_job_permissions (
185191 object_id = job .job_id ,
@@ -255,7 +261,7 @@ def test_e2e(
255261 toolkit .apply_permissions_to_backup_groups ()
256262
257263 for _objects , id_attribute , request_object_type in verifiable_objects :
258- _verify_group_permissions (_objects , id_attribute , request_object_type , ws , toolkit , "backup" )
264+ _verify_group_permissions (_objects , id_attribute , request_object_type , toolkit , "backup" )
259265
260266 _verify_roles_and_entitlements (group_migration_state , ws , "backup" )
261267
@@ -270,7 +276,7 @@ def test_e2e(
270276 toolkit .apply_permissions_to_account_groups ()
271277
272278 for _objects , id_attribute , request_object_type in verifiable_objects :
273- _verify_group_permissions (_objects , id_attribute , request_object_type , ws , toolkit , "account" )
279+ _verify_group_permissions (_objects , id_attribute , request_object_type , toolkit , "account" )
274280
275281 _verify_roles_and_entitlements (group_migration_state , ws , "account" )
276282
0 commit comments