Skip to content

Commit 6767037

Browse files
longchassclaude
andcommitted
bundle: fix genie_space permissions URL prefix
The genie_space permissions prefix was registered as "/genie/spaces/", which parsePermissionsID interprets as 4 segments and routes to PUT /api/2.0/permissions/genie/spaces/<id>. That endpoint does not exist; the workspace API returns 404 ENDPOINT_NOT_FOUND, which is what motivated the earlier rejection mutator. The actual permissions path is /api/2.0/permissions/genie/<id> (3 segments, RequestObjectType="genie"). This matches: - the SDK iam path builder at service/iam/impl.go (uses "/api/2.0/permissions/%v/%v") - the CLI's own "databricks permissions get/set genie <id>" command, which lists "genie" as a valid REQUEST_OBJECT_TYPE (cmd/workspace/permissions/permissions.go) Fix the bundle prefix and the matching testserver whitelist entry, which both had the same wrong path and therefore masked the bug in acceptance tests. Regenerate the affected acceptance fixtures. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent d633f4a commit 6767037

5 files changed

Lines changed: 5 additions & 5 deletions

File tree

acceptance/bundle/resources/permissions/genie_spaces/current_can_manage/out.plan.direct.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@
4444
]
4545
},
4646
"vars": {
47-
"object_id": "/genie/spaces/${resources.genie_spaces.foo.id}"
47+
"object_id": "/genie/${resources.genie_spaces.foo.id}"
4848
}
4949
}
5050
}

acceptance/bundle/resources/permissions/genie_spaces/current_can_manage/out.requests.deploy.direct.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"method": "PUT",
3-
"path": "/api/2.0/permissions/genie/spaces/[FOO_ID]",
3+
"path": "/api/2.0/permissions/genie/[FOO_ID]",
44
"body": {
55
"access_control_list": [
66
{

bundle/direct/dresources/all_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -481,7 +481,7 @@ var testDeps = map[string]prepareWorkspace{
481481
}
482482

483483
return &PermissionsState{
484-
ObjectID: "/genie/spaces/" + resp.SpaceId,
484+
ObjectID: "/genie/" + resp.SpaceId,
485485
EmbeddedSlice: []StatePermission{{
486486
Level: "CAN_MANAGE",
487487
UserName: "user@example.com",

bundle/direct/dresources/permissions.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ var permissionResourceToObjectType = map[string]string{
1818
"apps": "/apps/",
1919
"clusters": "/clusters/",
2020
"dashboards": "/dashboards/",
21-
"genie_spaces": "/genie/spaces/",
21+
"genie_spaces": "/genie/",
2222
"database_instances": "/database-instances/",
2323
"postgres_projects": "/database-projects/",
2424
"jobs": "/jobs/",

libs/testserver/permissions.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ var requestObjectTypeToObjectType = map[string]string{
2525
"sql/alerts": "alert",
2626
"sql/queries": "query",
2727
"dashboards": "dashboard",
28-
"genie/spaces": "genie-space",
28+
"genie": "genie-space",
2929
"experiments": "mlflowExperiment",
3030
"registered-models": "registered-model",
3131
"serving-endpoints": "serving-endpoint",

0 commit comments

Comments
 (0)