From 90371c16c1537bf0749f2adaf60878d3f35a0de1 Mon Sep 17 00:00:00 2001 From: Stephanie Hingtgen Date: Wed, 17 Sep 2025 19:33:52 -0600 Subject: [PATCH] Folders: Add in mode3 tests (#111276) --- pkg/tests/apis/folder/folder_tree_test.go | 46 +++++++++++++---------- 1 file changed, 27 insertions(+), 19 deletions(-) diff --git a/pkg/tests/apis/folder/folder_tree_test.go b/pkg/tests/apis/folder/folder_tree_test.go index d8359688807..bee1dedcd03 100644 --- a/pkg/tests/apis/folder/folder_tree_test.go +++ b/pkg/tests/apis/folder/folder_tree_test.go @@ -45,13 +45,13 @@ func TestIntegrationFolderTree(t *testing.T) { modes := []grafanarest.DualWriterMode{ // grafanarest.Mode1, (nothing new tested) grafanarest.Mode2, // write both, read legacy - // grafanarest.Mode3, // write both, read unified - // grafanarest.Mode4, - // grafanarest.Mode5, + grafanarest.Mode3, // write both, read unified + grafanarest.Mode4, + grafanarest.Mode5, } for _, mode := range modes { t.Run(fmt.Sprintf("mode %d", mode), func(t *testing.T) { - flags := []string{} + flags := []string{featuremgmt.FlagManagedDualWriter} if mode >= grafanarest.Mode3 { // make sure modes 0-3 work without it flags = append(flags, featuremgmt.FlagUnifiedStorageSearch) } @@ -387,24 +387,32 @@ func getFoldersFromAPIServerList(t *testing.T, who apis.User) *FolderView { require.NoError(t, err) client := dyn.Resource(gvr).Namespace(ns) - result, err := client.List(context.Background(), v1.ListOptions{Limit: 1000}) - if apierrors.IsForbidden(err) { - return &FolderView{} // empty list - } - require.NoError(t, err) - - lookup := make(map[string]*FolderView, len(result.Items)) - for _, hit := range result.Items { - obj, err := utils.MetaAccessor(&hit) + lookup := map[string]*FolderView{} + continueToken := "" + for { + result, err := client.List(context.Background(), v1.ListOptions{Limit: 1000, Continue: continueToken}) + if apierrors.IsForbidden(err) { + return &FolderView{} // empty list + } require.NoError(t, err) - title, _, err := unstructured.NestedString(hit.Object, "spec", "title") - require.NoError(t, err) + for _, hit := range result.Items { + obj, err := utils.MetaAccessor(&hit) + require.NoError(t, err) - lookup[hit.GetName()] = &FolderView{ - Name: hit.GetName(), - Title: title, - Parent: obj.GetFolder(), + title, _, err := unstructured.NestedString(hit.Object, "spec", "title") + require.NoError(t, err) + + lookup[hit.GetName()] = &FolderView{ + Name: hit.GetName(), + Title: title, + Parent: obj.GetFolder(), + } + } + + continueToken = result.GetContinue() + if continueToken == "" { + break } }