Compare commits

...

1 Commits

Author SHA1 Message Date
Alexander Zobnin
d7bd7f4f72 Zanzana: Add tests for folder action sets 2025-12-15 13:48:19 +01:00
2 changed files with 44 additions and 0 deletions

View File

@@ -224,4 +224,46 @@ func testCheck(t *testing.T, server *Server) {
require.NoError(t, err)
assert.Equal(t, true, res.GetAllowed())
})
t.Run("user:19 should be able to view folder 4 and all subfolders", func(t *testing.T) {
res, err := server.Check(newContextWithNamespace(), newReq("user:19", utils.VerbGet, folderGroup, folderResource, "", "", "4"))
require.NoError(t, err)
assert.True(t, res.GetAllowed())
res, err = server.Check(newContextWithNamespace(), newReq("user:19", utils.VerbGet, folderGroup, folderResource, "", "", "5"))
require.NoError(t, err)
assert.True(t, res.GetAllowed())
res, err = server.Check(newContextWithNamespace(), newReq("user:19", utils.VerbGet, folderGroup, folderResource, "", "", "6"))
require.NoError(t, err)
assert.True(t, res.GetAllowed())
})
t.Run("user:19 should be able to edit folder 4 and all subfolders", func(t *testing.T) {
res, err := server.Check(newContextWithNamespace(), newReq("user:19", utils.VerbDelete, folderGroup, folderResource, "", "", "4"))
require.NoError(t, err)
assert.True(t, res.GetAllowed())
res, err = server.Check(newContextWithNamespace(), newReq("user:19", utils.VerbDelete, folderGroup, folderResource, "", "", "5"))
require.NoError(t, err)
assert.True(t, res.GetAllowed())
res, err = server.Check(newContextWithNamespace(), newReq("user:19", utils.VerbDelete, folderGroup, folderResource, "", "", "6"))
require.NoError(t, err)
assert.True(t, res.GetAllowed())
})
t.Run("user:20 should be able to view folder 4 and all subfolders", func(t *testing.T) {
res, err := server.Check(newContextWithNamespace(), newReq("user:20", utils.VerbGet, folderGroup, folderResource, "", "", "4"))
require.NoError(t, err)
assert.True(t, res.GetAllowed())
res, err = server.Check(newContextWithNamespace(), newReq("user:20", utils.VerbGet, folderGroup, folderResource, "", "", "5"))
require.NoError(t, err)
assert.True(t, res.GetAllowed())
res, err = server.Check(newContextWithNamespace(), newReq("user:20", utils.VerbGet, folderGroup, folderResource, "", "", "6"))
require.NoError(t, err)
assert.True(t, res.GetAllowed())
})
}

View File

@@ -73,6 +73,8 @@ func setup(t *testing.T, srv *Server) *Server {
common.NewFolderTuple("user:17", common.RelationSetView, "4"),
common.NewFolderTuple("user:18", common.RelationCreate, "general"),
common.NewFolderResourceTuple("user:18", common.RelationCreate, dashboardGroup, dashboardResource, "", "general"),
common.NewFolderTuple("user:19", common.RelationSetAdmin, "4"),
common.NewFolderTuple("user:20", common.RelationSetEdit, "4"),
}
return setupOpenFGADatabase(t, srv, tuples)