|
5 | 5 |
|
6 | 6 | import pytest |
7 | 7 | from databricks.sdk import WorkspaceClient |
8 | | -from databricks.sdk.service import workspace |
9 | | -from databricks.sdk.service.iam import ( |
10 | | - AccessControlRequest, |
11 | | - AccessControlResponse, |
12 | | - Permission, |
13 | | - PermissionLevel, |
14 | | -) |
| 8 | +from databricks.sdk.service import iam, workspace |
| 9 | +from databricks.sdk.service.iam import PermissionLevel |
15 | 10 | from pyspark.errors import AnalysisException |
16 | 11 |
|
17 | 12 | from databricks.labs.ucx.config import ( |
@@ -72,33 +67,6 @@ def _verify_group_permissions( |
72 | 67 | toolkit.permissions_manager.verify_applied_scope_acls( |
73 | 68 | scope_name, toolkit.group_manager.migration_groups_provider, target |
74 | 69 | ) |
75 | | - |
76 | | - elif id_attribute in ("tokens", "passwords"): |
77 | | - _typed_objects: list[AccessControlRequest] = objects |
78 | | - ws_permissions = [ |
79 | | - AccessControlResponse( |
80 | | - all_permissions=[ |
81 | | - Permission(permission_level=o.permission_level, inherited=False, inherited_from_object=None) |
82 | | - ], |
83 | | - group_name=o.group_name, |
84 | | - ) |
85 | | - for o in _typed_objects |
86 | | - ] |
87 | | - |
88 | | - target_permissions = list( |
89 | | - filter( |
90 | | - lambda p: p.group_name |
91 | | - in [getattr(g, target).display_name for g in toolkit.group_manager.migration_groups_provider.groups], |
92 | | - ws.permissions.get( |
93 | | - request_object_type=request_object_type, request_object_id=id_attribute |
94 | | - ).access_control_list, |
95 | | - ) |
96 | | - ) |
97 | | - |
98 | | - sorted_ws = sorted(ws_permissions, key=lambda p: p.group_name) |
99 | | - sorted_target = sorted(target_permissions, key=lambda p: p.group_name) |
100 | | - |
101 | | - assert [p.all_permissions for p in sorted_ws] == [p.all_permissions for p in sorted_target] |
102 | 70 | else: |
103 | 71 | for _object in objects: |
104 | 72 | toolkit.permissions_manager.verify_applied_permissions( |
@@ -146,6 +114,7 @@ def test_e2e( |
146 | 114 | make_pipeline_permissions, |
147 | 115 | make_secret_scope, |
148 | 116 | make_secret_scope_acl, |
| 117 | + make_authorization_permissions, |
149 | 118 | make_warehouse, |
150 | 119 | make_warehouse_permissions, |
151 | 120 | ): |
@@ -196,7 +165,7 @@ def test_e2e( |
196 | 165 | group_name=ws_group.display_name, |
197 | 166 | ) |
198 | 167 | verifiable_objects.append( |
199 | | - ([model], "experiment_id", RequestObjectType.EXPERIMENTS), |
| 168 | + ([model], "id", RequestObjectType.REGISTERED_MODELS), |
200 | 169 | ) |
201 | 170 |
|
202 | 171 | experiment = make_experiment() |
@@ -237,6 +206,15 @@ def test_e2e( |
237 | 206 | make_secret_scope_acl(scope=scope, principal=ws_group.display_name, permission=workspace.AclPermission.WRITE) |
238 | 207 | verifiable_objects.append(([scope], "secret_scopes", None)) |
239 | 208 |
|
| 209 | + make_authorization_permissions( |
| 210 | + object_id="tokens", |
| 211 | + permission_level=PermissionLevel.CAN_USE, |
| 212 | + group_name=ws_group.display_name, |
| 213 | + ) |
| 214 | + verifiable_objects.append( |
| 215 | + ([iam.ObjectPermissions(object_id="tokens")], "object_id", RequestObjectType.AUTHORIZATION) |
| 216 | + ) |
| 217 | + |
240 | 218 | warehouse = make_warehouse() |
241 | 219 | make_warehouse_permissions( |
242 | 220 | object_id=warehouse.id, |
|
0 commit comments