Chore: Remove result field from dashboards (#65249)
remove result field from dashboards
This commit is contained in:
@@ -55,11 +55,11 @@ func TestIntegrationDashboardFolderDataAccess(t *testing.T) {
|
||||
OrgId: 1,
|
||||
DashboardIds: []int64{flder.ID, dashInRoot.ID},
|
||||
}
|
||||
err := testSearchDashboards(dashboardStore, query)
|
||||
hits, err := testSearchDashboards(dashboardStore, query)
|
||||
require.NoError(t, err)
|
||||
require.Equal(t, len(query.Result), 2)
|
||||
require.Equal(t, query.Result[0].ID, flder.ID)
|
||||
require.Equal(t, query.Result[1].ID, dashInRoot.ID)
|
||||
require.Equal(t, len(hits), 2)
|
||||
require.Equal(t, hits[0].ID, flder.ID)
|
||||
require.Equal(t, hits[1].ID, dashInRoot.ID)
|
||||
})
|
||||
})
|
||||
|
||||
@@ -78,11 +78,11 @@ func TestIntegrationDashboardFolderDataAccess(t *testing.T) {
|
||||
SignedInUser: &user.SignedInUser{UserID: currentUser.ID, OrgID: 1, OrgRole: org.RoleViewer},
|
||||
OrgId: 1, DashboardIds: []int64{flder.ID, dashInRoot.ID},
|
||||
}
|
||||
err := testSearchDashboards(dashboardStore, query)
|
||||
hits, err := testSearchDashboards(dashboardStore, query)
|
||||
require.NoError(t, err)
|
||||
|
||||
require.Equal(t, len(query.Result), 1)
|
||||
require.Equal(t, query.Result[0].ID, dashInRoot.ID)
|
||||
require.Equal(t, len(hits), 1)
|
||||
require.Equal(t, hits[0].ID, dashInRoot.ID)
|
||||
})
|
||||
|
||||
t.Run("when the user is given permission", func(t *testing.T) {
|
||||
@@ -97,11 +97,11 @@ func TestIntegrationDashboardFolderDataAccess(t *testing.T) {
|
||||
OrgId: 1,
|
||||
DashboardIds: []int64{flder.ID, dashInRoot.ID},
|
||||
}
|
||||
err := testSearchDashboards(dashboardStore, query)
|
||||
hits, err := testSearchDashboards(dashboardStore, query)
|
||||
require.NoError(t, err)
|
||||
require.Equal(t, len(query.Result), 2)
|
||||
require.Equal(t, query.Result[0].ID, flder.ID)
|
||||
require.Equal(t, query.Result[1].ID, dashInRoot.ID)
|
||||
require.Equal(t, len(hits), 2)
|
||||
require.Equal(t, hits[0].ID, flder.ID)
|
||||
require.Equal(t, hits[1].ID, dashInRoot.ID)
|
||||
})
|
||||
})
|
||||
|
||||
@@ -116,11 +116,11 @@ func TestIntegrationDashboardFolderDataAccess(t *testing.T) {
|
||||
OrgId: 1,
|
||||
DashboardIds: []int64{flder.ID, dashInRoot.ID},
|
||||
}
|
||||
err := testSearchDashboards(dashboardStore, query)
|
||||
hits, err := testSearchDashboards(dashboardStore, query)
|
||||
require.NoError(t, err)
|
||||
require.Equal(t, len(query.Result), 2)
|
||||
require.Equal(t, query.Result[0].ID, flder.ID)
|
||||
require.Equal(t, query.Result[1].ID, dashInRoot.ID)
|
||||
require.Equal(t, len(hits), 2)
|
||||
require.Equal(t, hits[0].ID, flder.ID)
|
||||
require.Equal(t, hits[1].ID, dashInRoot.ID)
|
||||
})
|
||||
})
|
||||
})
|
||||
@@ -138,10 +138,10 @@ func TestIntegrationDashboardFolderDataAccess(t *testing.T) {
|
||||
query := &dashboards.FindPersistedDashboardsQuery{
|
||||
SignedInUser: &user.SignedInUser{UserID: currentUser.ID, OrgID: 1, OrgRole: org.RoleViewer}, OrgId: 1, DashboardIds: []int64{flder.ID, childDash.ID, dashInRoot.ID},
|
||||
}
|
||||
err := testSearchDashboards(dashboardStore, query)
|
||||
hits, err := testSearchDashboards(dashboardStore, query)
|
||||
require.NoError(t, err)
|
||||
require.Equal(t, len(query.Result), 1)
|
||||
require.Equal(t, query.Result[0].ID, dashInRoot.ID)
|
||||
require.Equal(t, len(hits), 1)
|
||||
require.Equal(t, hits[0].ID, dashInRoot.ID)
|
||||
})
|
||||
|
||||
t.Run("when the user is given permission to child", func(t *testing.T) {
|
||||
@@ -152,11 +152,11 @@ func TestIntegrationDashboardFolderDataAccess(t *testing.T) {
|
||||
|
||||
t.Run("should be able to search for child dashboard but not folder", func(t *testing.T) {
|
||||
query := &dashboards.FindPersistedDashboardsQuery{SignedInUser: &user.SignedInUser{UserID: currentUser.ID, OrgID: 1, OrgRole: org.RoleViewer}, OrgId: 1, DashboardIds: []int64{flder.ID, childDash.ID, dashInRoot.ID}}
|
||||
err := testSearchDashboards(dashboardStore, query)
|
||||
hits, err := testSearchDashboards(dashboardStore, query)
|
||||
require.NoError(t, err)
|
||||
require.Equal(t, len(query.Result), 2)
|
||||
require.Equal(t, query.Result[0].ID, childDash.ID)
|
||||
require.Equal(t, query.Result[1].ID, dashInRoot.ID)
|
||||
require.Equal(t, len(hits), 2)
|
||||
require.Equal(t, hits[0].ID, childDash.ID)
|
||||
require.Equal(t, hits[1].ID, dashInRoot.ID)
|
||||
})
|
||||
})
|
||||
|
||||
@@ -171,12 +171,12 @@ func TestIntegrationDashboardFolderDataAccess(t *testing.T) {
|
||||
OrgId: 1,
|
||||
DashboardIds: []int64{flder.ID, dashInRoot.ID, childDash.ID},
|
||||
}
|
||||
err := testSearchDashboards(dashboardStore, query)
|
||||
hits, err := testSearchDashboards(dashboardStore, query)
|
||||
require.NoError(t, err)
|
||||
require.Equal(t, len(query.Result), 3)
|
||||
require.Equal(t, query.Result[0].ID, flder.ID)
|
||||
require.Equal(t, query.Result[1].ID, childDash.ID)
|
||||
require.Equal(t, query.Result[2].ID, dashInRoot.ID)
|
||||
require.Equal(t, len(hits), 3)
|
||||
require.Equal(t, hits[0].ID, flder.ID)
|
||||
require.Equal(t, hits[1].ID, childDash.ID)
|
||||
require.Equal(t, hits[2].ID, dashInRoot.ID)
|
||||
})
|
||||
})
|
||||
})
|
||||
@@ -212,13 +212,13 @@ func TestIntegrationDashboardFolderDataAccess(t *testing.T) {
|
||||
},
|
||||
OrgId: 1,
|
||||
}
|
||||
err := testSearchDashboards(dashboardStore, query)
|
||||
hits, err := testSearchDashboards(dashboardStore, query)
|
||||
require.NoError(t, err)
|
||||
require.Equal(t, len(query.Result), 4)
|
||||
require.Equal(t, query.Result[0].ID, folder1.ID)
|
||||
require.Equal(t, query.Result[1].ID, folder2.ID)
|
||||
require.Equal(t, query.Result[2].ID, childDash1.ID)
|
||||
require.Equal(t, query.Result[3].ID, dashInRoot.ID)
|
||||
require.Equal(t, len(hits), 4)
|
||||
require.Equal(t, hits[0].ID, folder1.ID)
|
||||
require.Equal(t, hits[1].ID, folder2.ID)
|
||||
require.Equal(t, hits[2].ID, childDash1.ID)
|
||||
require.Equal(t, hits[3].ID, dashInRoot.ID)
|
||||
})
|
||||
})
|
||||
|
||||
@@ -238,10 +238,10 @@ func TestIntegrationDashboardFolderDataAccess(t *testing.T) {
|
||||
OrgId: 1,
|
||||
DashboardIds: []int64{folder1.ID, childDash1.ID, childDash2.ID, dashInRoot.ID},
|
||||
}
|
||||
err := testSearchDashboards(dashboardStore, query)
|
||||
hits, err := testSearchDashboards(dashboardStore, query)
|
||||
require.NoError(t, err)
|
||||
require.Equal(t, len(query.Result), 1)
|
||||
require.Equal(t, query.Result[0].ID, dashInRoot.ID)
|
||||
require.Equal(t, len(hits), 1)
|
||||
require.Equal(t, hits[0].ID, dashInRoot.ID)
|
||||
})
|
||||
})
|
||||
t.Run("and a dashboard is moved from folder with acl to the folder without an acl", func(t *testing.T) {
|
||||
@@ -254,13 +254,13 @@ func TestIntegrationDashboardFolderDataAccess(t *testing.T) {
|
||||
OrgId: 1,
|
||||
DashboardIds: []int64{folder2.ID, childDash1.ID, childDash2.ID, dashInRoot.ID},
|
||||
}
|
||||
err := testSearchDashboards(dashboardStore, query)
|
||||
hits, err := testSearchDashboards(dashboardStore, query)
|
||||
require.NoError(t, err)
|
||||
require.Equal(t, len(query.Result), 4)
|
||||
require.Equal(t, query.Result[0].ID, folder2.ID)
|
||||
require.Equal(t, query.Result[1].ID, childDash1.ID)
|
||||
require.Equal(t, query.Result[2].ID, childDash2.ID)
|
||||
require.Equal(t, query.Result[3].ID, dashInRoot.ID)
|
||||
require.Equal(t, len(hits), 4)
|
||||
require.Equal(t, hits[0].ID, folder2.ID)
|
||||
require.Equal(t, hits[1].ID, childDash1.ID)
|
||||
require.Equal(t, hits[2].ID, childDash2.ID)
|
||||
require.Equal(t, hits[3].ID, dashInRoot.ID)
|
||||
})
|
||||
})
|
||||
|
||||
@@ -278,13 +278,13 @@ func TestIntegrationDashboardFolderDataAccess(t *testing.T) {
|
||||
OrgId: 1,
|
||||
DashboardIds: []int64{folder2.ID, childDash1.ID, childDash2.ID, dashInRoot.ID},
|
||||
}
|
||||
err = testSearchDashboards(dashboardStore, query)
|
||||
hits, err := testSearchDashboards(dashboardStore, query)
|
||||
require.NoError(t, err)
|
||||
require.Equal(t, len(query.Result), 4)
|
||||
require.Equal(t, query.Result[0].ID, folder2.ID)
|
||||
require.Equal(t, query.Result[1].ID, childDash1.ID)
|
||||
require.Equal(t, query.Result[2].ID, childDash2.ID)
|
||||
require.Equal(t, query.Result[3].ID, dashInRoot.ID)
|
||||
require.Equal(t, len(hits), 4)
|
||||
require.Equal(t, hits[0].ID, folder2.ID)
|
||||
require.Equal(t, hits[1].ID, childDash1.ID)
|
||||
require.Equal(t, hits[2].ID, childDash2.ID)
|
||||
require.Equal(t, hits[3].ID, dashInRoot.ID)
|
||||
})
|
||||
})
|
||||
})
|
||||
@@ -319,12 +319,12 @@ func TestIntegrationDashboardFolderDataAccess(t *testing.T) {
|
||||
Type: "dash-folder",
|
||||
}
|
||||
|
||||
err := testSearchDashboards(dashboardStore, &query)
|
||||
hits, err := testSearchDashboards(dashboardStore, &query)
|
||||
require.NoError(t, err)
|
||||
|
||||
require.Equal(t, len(query.Result), 2)
|
||||
require.Equal(t, query.Result[0].ID, folder1.ID)
|
||||
require.Equal(t, query.Result[1].ID, folder2.ID)
|
||||
require.Equal(t, len(hits), 2)
|
||||
require.Equal(t, hits[0].ID, folder1.ID)
|
||||
require.Equal(t, hits[1].ID, folder2.ID)
|
||||
})
|
||||
|
||||
t.Run("should have edit permission in folders", func(t *testing.T) {
|
||||
@@ -354,12 +354,12 @@ func TestIntegrationDashboardFolderDataAccess(t *testing.T) {
|
||||
}
|
||||
|
||||
t.Run("Should have write access to all dashboard folders with default ACL", func(t *testing.T) {
|
||||
err := testSearchDashboards(dashboardStore, &query)
|
||||
hits, err := testSearchDashboards(dashboardStore, &query)
|
||||
require.NoError(t, err)
|
||||
|
||||
require.Equal(t, len(query.Result), 2)
|
||||
require.Equal(t, query.Result[0].ID, folder1.ID)
|
||||
require.Equal(t, query.Result[1].ID, folder2.ID)
|
||||
require.Equal(t, len(hits), 2)
|
||||
require.Equal(t, hits[0].ID, folder1.ID)
|
||||
require.Equal(t, hits[1].ID, folder2.ID)
|
||||
})
|
||||
|
||||
t.Run("Should have write access to one dashboard folder if default role changed to view for one folder", func(t *testing.T) {
|
||||
@@ -368,11 +368,11 @@ func TestIntegrationDashboardFolderDataAccess(t *testing.T) {
|
||||
})
|
||||
require.NoError(t, err)
|
||||
|
||||
err = testSearchDashboards(dashboardStore, &query)
|
||||
hits, err := testSearchDashboards(dashboardStore, &query)
|
||||
require.NoError(t, err)
|
||||
|
||||
require.Equal(t, len(query.Result), 1)
|
||||
require.Equal(t, query.Result[0].ID, folder2.ID)
|
||||
require.Equal(t, len(hits), 1)
|
||||
require.Equal(t, hits[0].ID, folder2.ID)
|
||||
})
|
||||
|
||||
t.Run("should have edit permission in folders", func(t *testing.T) {
|
||||
@@ -402,10 +402,10 @@ func TestIntegrationDashboardFolderDataAccess(t *testing.T) {
|
||||
}
|
||||
|
||||
t.Run("Should have no write access to any dashboard folders with default ACL", func(t *testing.T) {
|
||||
err := testSearchDashboards(dashboardStore, &query)
|
||||
hits, err := testSearchDashboards(dashboardStore, &query)
|
||||
require.NoError(t, err)
|
||||
|
||||
require.Equal(t, len(query.Result), 0)
|
||||
require.Equal(t, len(hits), 0)
|
||||
})
|
||||
|
||||
t.Run("Should be able to get one dashboard folder if default role changed to edit for one folder", func(t *testing.T) {
|
||||
@@ -414,11 +414,11 @@ func TestIntegrationDashboardFolderDataAccess(t *testing.T) {
|
||||
})
|
||||
require.NoError(t, err)
|
||||
|
||||
err = testSearchDashboards(dashboardStore, &query)
|
||||
hits, err := testSearchDashboards(dashboardStore, &query)
|
||||
require.NoError(t, err)
|
||||
|
||||
require.Equal(t, len(query.Result), 1)
|
||||
require.Equal(t, query.Result[0].ID, folder1.ID)
|
||||
require.Equal(t, len(hits), 1)
|
||||
require.Equal(t, hits[0].ID, folder1.ID)
|
||||
})
|
||||
|
||||
t.Run("should not have edit permission in folders", func(t *testing.T) {
|
||||
|
||||
@@ -346,11 +346,11 @@ func TestIntegrationDashboardDataAccess(t *testing.T) {
|
||||
},
|
||||
}
|
||||
|
||||
err := testSearchDashboards(dashboardStore, &query)
|
||||
hits, err := testSearchDashboards(dashboardStore, &query)
|
||||
require.NoError(t, err)
|
||||
|
||||
require.Equal(t, len(query.Result), 1)
|
||||
hit := query.Result[0]
|
||||
require.Equal(t, len(hits), 1)
|
||||
hit := hits[0]
|
||||
require.Equal(t, hit.Type, model.DashHitFolder)
|
||||
require.Equal(t, hit.URL, fmt.Sprintf("/dashboards/f/%s/%s", savedFolder.UID, savedFolder.Slug))
|
||||
require.Equal(t, hit.FolderTitle, "")
|
||||
@@ -370,11 +370,11 @@ func TestIntegrationDashboardDataAccess(t *testing.T) {
|
||||
},
|
||||
}
|
||||
|
||||
err := testSearchDashboards(dashboardStore, &query)
|
||||
hits, err := testSearchDashboards(dashboardStore, &query)
|
||||
require.NoError(t, err)
|
||||
|
||||
require.Equal(t, len(query.Result), 1)
|
||||
require.EqualValues(t, query.Result[0].Title, "1 test dash folder")
|
||||
require.Equal(t, len(hits), 1)
|
||||
require.EqualValues(t, hits[0].Title, "1 test dash folder")
|
||||
})
|
||||
|
||||
t.Run("Should be able to find results beyond limit using paging", func(t *testing.T) {
|
||||
@@ -395,11 +395,11 @@ func TestIntegrationDashboardDataAccess(t *testing.T) {
|
||||
},
|
||||
}
|
||||
|
||||
err := testSearchDashboards(dashboardStore, &query)
|
||||
hits, err := testSearchDashboards(dashboardStore, &query)
|
||||
require.NoError(t, err)
|
||||
|
||||
require.Equal(t, len(query.Result), 1)
|
||||
require.EqualValues(t, query.Result[0].Title, "test dash 23")
|
||||
require.Equal(t, len(hits), 1)
|
||||
require.EqualValues(t, hits[0].Title, "test dash 23")
|
||||
})
|
||||
|
||||
t.Run("Should be able to filter by tag and type", func(t *testing.T) {
|
||||
@@ -417,11 +417,11 @@ func TestIntegrationDashboardDataAccess(t *testing.T) {
|
||||
},
|
||||
}
|
||||
|
||||
err := testSearchDashboards(dashboardStore, &query)
|
||||
hits, err := testSearchDashboards(dashboardStore, &query)
|
||||
require.NoError(t, err)
|
||||
|
||||
require.Equal(t, len(query.Result), 3)
|
||||
require.Equal(t, query.Result[0].Title, "test dash 23")
|
||||
require.Equal(t, len(hits), 3)
|
||||
require.Equal(t, hits[0].Title, "test dash 23")
|
||||
})
|
||||
|
||||
t.Run("Should be able to find a dashboard folder's children", func(t *testing.T) {
|
||||
@@ -438,11 +438,11 @@ func TestIntegrationDashboardDataAccess(t *testing.T) {
|
||||
},
|
||||
}
|
||||
|
||||
err := testSearchDashboards(dashboardStore, &query)
|
||||
hits, err := testSearchDashboards(dashboardStore, &query)
|
||||
require.NoError(t, err)
|
||||
|
||||
require.Equal(t, len(query.Result), 2)
|
||||
hit := query.Result[0]
|
||||
require.Equal(t, len(hits), 2)
|
||||
hit := hits[0]
|
||||
require.Equal(t, hit.ID, savedDash.ID)
|
||||
require.Equal(t, hit.URL, fmt.Sprintf("/d/%s/%s", savedDash.UID, savedDash.Slug))
|
||||
require.Equal(t, hit.FolderID, savedFolder.ID)
|
||||
@@ -464,15 +464,15 @@ func TestIntegrationDashboardDataAccess(t *testing.T) {
|
||||
},
|
||||
}
|
||||
|
||||
err := testSearchDashboards(dashboardStore, &query)
|
||||
hits, err := testSearchDashboards(dashboardStore, &query)
|
||||
require.NoError(t, err)
|
||||
|
||||
require.Equal(t, len(query.Result), 2)
|
||||
require.Equal(t, len(hits), 2)
|
||||
|
||||
hit := query.Result[0]
|
||||
hit := hits[0]
|
||||
require.Equal(t, len(hit.Tags), 2)
|
||||
|
||||
hit2 := query.Result[1]
|
||||
hit2 := hits[1]
|
||||
require.Equal(t, len(hit2.Tags), 1)
|
||||
})
|
||||
|
||||
@@ -751,17 +751,17 @@ func updateDashboardACL(t *testing.T, dashboardStore dashboards.Store, dashboard
|
||||
|
||||
// testSearchDashboards is a (near) copy of the dashboard service
|
||||
// SearchDashboards, which is a wrapper around FindDashboards.
|
||||
func testSearchDashboards(d dashboards.Store, query *dashboards.FindPersistedDashboardsQuery) error {
|
||||
func testSearchDashboards(d dashboards.Store, query *dashboards.FindPersistedDashboardsQuery) (model.HitList, error) {
|
||||
res, err := d.FindDashboards(context.Background(), query)
|
||||
if err != nil {
|
||||
return err
|
||||
return nil, err
|
||||
}
|
||||
makeQueryResult(query, res)
|
||||
return nil
|
||||
hits := makeQueryResult(query, res)
|
||||
return hits, nil
|
||||
}
|
||||
|
||||
func makeQueryResult(query *dashboards.FindPersistedDashboardsQuery, res []dashboards.DashboardSearchProjection) {
|
||||
query.Result = make([]*model.Hit, 0)
|
||||
func makeQueryResult(query *dashboards.FindPersistedDashboardsQuery, res []dashboards.DashboardSearchProjection) model.HitList {
|
||||
hitList := make([]*model.Hit, 0)
|
||||
hits := make(map[int64]*model.Hit)
|
||||
|
||||
for _, item := range res {
|
||||
@@ -794,11 +794,12 @@ func makeQueryResult(query *dashboards.FindPersistedDashboardsQuery, res []dashb
|
||||
hit.SortMetaName = query.Sort.MetaName
|
||||
}
|
||||
|
||||
query.Result = append(query.Result, hit)
|
||||
hitList = append(hitList, hit)
|
||||
hits[item.ID] = hit
|
||||
}
|
||||
if len(item.Term) > 0 {
|
||||
hit.Tags = append(hit.Tags, item.Term)
|
||||
}
|
||||
}
|
||||
return hitList
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user