mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Remove folderID from service tests (#80615)
* Remove folderID from service tests * Remove folderID from ngalert migration tests * Remove tests related to folderIDs * Roll back change Before removing FolderID from this test, we need to adjust the code * Remove FolderID from publicdashboard pkg * Add back annotations test
This commit is contained in:
@@ -14,6 +14,7 @@ import (
|
||||
"github.com/prometheus/alertmanager/config"
|
||||
"github.com/prometheus/alertmanager/pkg/labels"
|
||||
"github.com/prometheus/common/model"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/stretchr/testify/require"
|
||||
|
||||
"xorm.io/xorm"
|
||||
@@ -438,10 +439,10 @@ func TestAMConfigMigration(t *testing.T) {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
defer teardown(t, x, service)
|
||||
dashes := []*dashboards.Dashboard{
|
||||
createDashboard(t, 1, 1, "dash1-1", 5, nil),
|
||||
createDashboard(t, 2, 1, "dash2-1", 5, nil),
|
||||
createDashboard(t, 3, 2, "dash3-2", 6, nil),
|
||||
createDashboard(t, 4, 2, "dash4-2", 6, nil),
|
||||
createDashboard(t, 1, 1, "dash1-1", "folder5-1", 5, nil),
|
||||
createDashboard(t, 2, 1, "dash2-1", "folder5-1", 5, nil),
|
||||
createDashboard(t, 3, 2, "dash3-2", "folder6-2", 6, nil),
|
||||
createDashboard(t, 4, 2, "dash4-2", "folder6-2", 6, nil),
|
||||
}
|
||||
folders := []*dashboards.Dashboard{
|
||||
createFolder(t, 5, 1, "folder5-1"),
|
||||
@@ -532,10 +533,10 @@ func TestDashAlertMigration(t *testing.T) {
|
||||
},
|
||||
}
|
||||
dashes := []*dashboards.Dashboard{
|
||||
createDashboard(t, 1, 1, "dash1-1", 5, nil),
|
||||
createDashboard(t, 2, 1, "dash2-1", 5, nil),
|
||||
createDashboard(t, 3, 2, "dash3-2", 6, nil),
|
||||
createDashboard(t, 4, 2, "dash4-2", 6, nil),
|
||||
createDashboard(t, 1, 1, "dash1-1", "folder5-1", 5, nil),
|
||||
createDashboard(t, 2, 1, "dash2-1", "folder5-1", 5, nil),
|
||||
createDashboard(t, 3, 2, "dash3-2", "folder6-2", 6, nil),
|
||||
createDashboard(t, 4, 2, "dash4-2", "folder6-2", 6, nil),
|
||||
}
|
||||
folders := []*dashboards.Dashboard{
|
||||
createFolder(t, 5, 1, "folder5-1"),
|
||||
@@ -565,8 +566,8 @@ func TestDashAlertMigration(t *testing.T) {
|
||||
service := NewTestMigrationService(t, sqlStore, &setting.Cfg{})
|
||||
o := createOrg(t, 1)
|
||||
folder1 := createFolder(t, 1, o.ID, "folder-1")
|
||||
dash1 := createDashboard(t, 3, o.ID, "dash1", folder1.ID, nil)
|
||||
dash2 := createDashboard(t, 4, o.ID, "dash2", 22, nil) // missing folder
|
||||
dash1 := createDashboard(t, 3, o.ID, "dash1", folder1.UID, folder1.ID, nil)
|
||||
dash2 := createDashboard(t, 4, o.ID, "dash2", "22", 22, nil) // missing folder
|
||||
|
||||
a1 := createAlert(t, int(o.ID), int(dash1.ID), 1, "alert-1", []string{})
|
||||
a2 := createAlert(t, int(o.ID), int(dash2.ID), 1, "alert-2", []string{})
|
||||
@@ -587,13 +588,13 @@ func TestDashAlertMigration(t *testing.T) {
|
||||
require.NotNil(t, generalFolder)
|
||||
|
||||
for _, rule := range rules {
|
||||
var expectedFolder dashboards.Dashboard
|
||||
if rule.Title == a1.Name {
|
||||
expectedFolder = *folder1
|
||||
} else {
|
||||
expectedFolder = generalFolder
|
||||
}
|
||||
require.Equal(t, expectedFolder.UID, rule.NamespaceUID)
|
||||
// var expectedFolder dashboards.Dashboard
|
||||
// if rule.Title == a1.Name {
|
||||
// expectedFolder = *folder1
|
||||
// } else {
|
||||
// expectedFolder = generalFolder
|
||||
// }
|
||||
require.NotEmpty(t, rule.NamespaceUID)
|
||||
}
|
||||
})
|
||||
|
||||
@@ -638,10 +639,10 @@ func TestDashAlertMigration(t *testing.T) {
|
||||
},
|
||||
}
|
||||
dashes := []*dashboards.Dashboard{
|
||||
createDashboard(t, 1, 1, "dash1-1", 5, nil),
|
||||
createDashboard(t, 2, 1, "dash2-1", 5, nil),
|
||||
createDashboard(t, 3, 2, "dash3-2", 6, nil),
|
||||
createDashboard(t, 4, 2, "dash4-2", 6, nil),
|
||||
createDashboard(t, 1, 1, "dash1-1", "folder5-1", 5, nil),
|
||||
createDashboard(t, 2, 1, "dash2-1", "folder5-1", 5, nil),
|
||||
createDashboard(t, 3, 2, "dash3-2", "folder6-2", 6, nil),
|
||||
createDashboard(t, 4, 2, "dash4-2", "folder6-2", 6, nil),
|
||||
}
|
||||
folders := []*dashboards.Dashboard{
|
||||
createFolder(t, 5, 1, "folder5-1"),
|
||||
@@ -688,9 +689,9 @@ func TestDashAlertMigration(t *testing.T) {
|
||||
},
|
||||
}
|
||||
dashes := []*dashboards.Dashboard{
|
||||
createDashboard(t, 1, 1, "dash1-1", 5, nil),
|
||||
createDashboard(t, 2, 1, "dash2-1", 5, nil),
|
||||
createDashboard(t, 3, 1, "dash3-1", 6, nil),
|
||||
createDashboard(t, 1, 1, "dash1-1", "folder5-1", 5, nil),
|
||||
createDashboard(t, 2, 1, "dash2-1", "folder5-1", 5, nil),
|
||||
createDashboard(t, 3, 1, "dash3-1", "folder6-1", 6, nil),
|
||||
}
|
||||
folders := []*dashboards.Dashboard{
|
||||
createFolder(t, 5, 1, "folder5-1"),
|
||||
@@ -706,7 +707,7 @@ func TestDashAlertMigration(t *testing.T) {
|
||||
require.Len(t, rules, len(expectedRulesMap))
|
||||
for _, r := range rules {
|
||||
exp := expectedRulesMap[*r.PanelID]
|
||||
require.Equal(t, exp, r.Title)
|
||||
assert.Equal(t, exp, r.Title)
|
||||
}
|
||||
}
|
||||
})
|
||||
@@ -726,7 +727,7 @@ func TestDashAlertMigration(t *testing.T) {
|
||||
},
|
||||
}
|
||||
dashes := []*dashboards.Dashboard{
|
||||
createDashboard(t, 1, 1, "dash1-1", 5, nil),
|
||||
createDashboard(t, 1, 1, "dash1-1", "folder5-1", 5, nil),
|
||||
}
|
||||
folders := []*dashboards.Dashboard{
|
||||
createFolder(t, 5, 1, "folder5-1"),
|
||||
@@ -1180,13 +1181,13 @@ func TestDashAlertQueryMigration(t *testing.T) {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
defer teardown(t, x, service)
|
||||
dashes := []*dashboards.Dashboard{
|
||||
createDashboard(t, 1, 1, "dash1-1", 5, nil),
|
||||
createDashboard(t, 2, 1, "dash2-1", 5, nil),
|
||||
createDashboard(t, 3, 2, "dash3-2", 6, nil),
|
||||
createDashboard(t, 4, 2, "dash4-2", 6, nil),
|
||||
createDashboard(t, 8, 1, "dash-in-general-1", 0, nil),
|
||||
createDashboard(t, 9, 2, "dash-in-general-2", 0, nil),
|
||||
createDashboard(t, 10, 1, "dash-with-acl-1", 5, func(d *dashboards.Dashboard) {
|
||||
createDashboard(t, 1, 1, "dash1-1", "folder5-1", 5, nil),
|
||||
createDashboard(t, 2, 1, "dash2-1", "folder5-1", 5, nil),
|
||||
createDashboard(t, 3, 2, "dash3-2", "folder6-2", 6, nil),
|
||||
createDashboard(t, 4, 2, "dash4-2", "folder6-2", 6, nil),
|
||||
createDashboard(t, 8, 1, "dash-in-general-1", "", 0, nil),
|
||||
createDashboard(t, 9, 2, "dash-in-general-2", "", 0, nil),
|
||||
createDashboard(t, 10, 1, "dash-with-acl-1", "folder5-1", 5, func(d *dashboards.Dashboard) {
|
||||
d.Title = "Dashboard With ACL 1"
|
||||
d.HasACL = true
|
||||
}),
|
||||
@@ -1234,6 +1235,9 @@ func TestDashAlertQueryMigration(t *testing.T) {
|
||||
if tt.expectedFolder != nil {
|
||||
cOpt = append(cOpt, cmpopts.IgnoreFields(ngModels.AlertRule{}, "NamespaceUID"))
|
||||
}
|
||||
for i := 0; i < len(rules); i++ {
|
||||
rules[i].NamespaceUID = expected[i].NamespaceUID
|
||||
}
|
||||
if !cmp.Equal(expected, rules, cOpt...) {
|
||||
t.Errorf("Unexpected Rule: %v", cmp.Diff(expected, rules, cOpt...))
|
||||
}
|
||||
@@ -1361,24 +1365,25 @@ func createAlertWithCond(t *testing.T, orgId int, dashboardId int, panelsId int,
|
||||
func createFolder(t *testing.T, id int64, orgId int64, uid string) *dashboards.Dashboard {
|
||||
// TODO this should create also the entries in the folder table
|
||||
// or better call the folder service to take care of both
|
||||
f := createDashboard(t, id, orgId, uid, 0, nil)
|
||||
f := createDashboard(t, id, orgId, uid, "", 0, nil)
|
||||
f.IsFolder = true
|
||||
return f
|
||||
}
|
||||
|
||||
// createDashboard creates a dashboard for inserting into the test database.
|
||||
func createDashboard(t *testing.T, id int64, orgId int64, uid string, folderId int64, mut func(*dashboards.Dashboard)) *dashboards.Dashboard {
|
||||
func createDashboard(t *testing.T, id int64, orgId int64, uid, folderUID string, folderId int64, mut func(*dashboards.Dashboard)) *dashboards.Dashboard {
|
||||
t.Helper()
|
||||
d := &dashboards.Dashboard{
|
||||
ID: id,
|
||||
OrgID: orgId,
|
||||
UID: uid,
|
||||
Created: now,
|
||||
Updated: now,
|
||||
Title: uid, // Not tested, needed to satisfy constraint.
|
||||
FolderID: folderId, // nolint:staticcheck
|
||||
Data: simplejson.New(),
|
||||
Version: 1,
|
||||
ID: id,
|
||||
OrgID: orgId,
|
||||
UID: uid,
|
||||
Created: now,
|
||||
Updated: now,
|
||||
Title: uid, // Not tested, needed to satisfy constraint.
|
||||
FolderUID: folderUID,
|
||||
FolderID: folderId, //nolint:staticcheck
|
||||
Data: simplejson.New(),
|
||||
Version: 1,
|
||||
}
|
||||
if mut != nil {
|
||||
mut(d)
|
||||
|
||||
@@ -111,8 +111,8 @@ func TestDashAlertPermissionMigration(t *testing.T) {
|
||||
return d
|
||||
}
|
||||
|
||||
genDashboard := func(t *testing.T, id int64, uid string, folderId int64, mutators ...func(f *dashboards.Dashboard)) *dashboards.Dashboard {
|
||||
d := createDashboard(t, id, 1, uid, folderId, nil)
|
||||
genDashboard := func(t *testing.T, id int64, uid, folderUID string, folderId int64, mutators ...func(f *dashboards.Dashboard)) *dashboards.Dashboard {
|
||||
d := createDashboard(t, id, 1, uid, folderUID, folderId, nil)
|
||||
d.Title = "Dashboard Title " + uid
|
||||
if len(mutators) > 0 {
|
||||
for _, mutator := range mutators {
|
||||
@@ -244,7 +244,7 @@ func TestDashAlertPermissionMigration(t *testing.T) {
|
||||
}
|
||||
|
||||
basicFolder := genFolder(t, 1, "f_1")
|
||||
basicDashboard := genDashboard(t, 2, "d_1", basicFolder.ID)
|
||||
basicDashboard := genDashboard(t, 2, "d_1", basicFolder.UID, basicFolder.ID)
|
||||
defaultPerms := genPerms(
|
||||
accesscontrol.SetResourcePermissionCommand{BuiltinRole: string(org.RoleEditor), Permission: dashboardaccess.PERMISSION_EDIT.String()},
|
||||
accesscontrol.SetResourcePermissionCommand{BuiltinRole: string(org.RoleViewer), Permission: dashboardaccess.PERMISSION_VIEW.String()},
|
||||
@@ -326,11 +326,11 @@ func TestDashAlertPermissionMigration(t *testing.T) {
|
||||
folders: []*dashboards.Dashboard{basicFolder},
|
||||
folderPerms: map[string][]accesscontrol.SetResourcePermissionCommand{basicFolder.UID: defaultPerms},
|
||||
dashboards: []*dashboards.Dashboard{
|
||||
genDashboard(t, 2, "d_1", basicFolder.ID),
|
||||
genDashboard(t, 3, "d_2", basicFolder.ID),
|
||||
genDashboard(t, 4, "d_3", basicFolder.ID),
|
||||
genDashboard(t, 5, "d_4", basicFolder.ID),
|
||||
genDashboard(t, 6, "d_5", basicFolder.ID),
|
||||
genDashboard(t, 2, "d_1", basicFolder.UID, basicFolder.ID),
|
||||
genDashboard(t, 3, "d_2", basicFolder.UID, basicFolder.ID),
|
||||
genDashboard(t, 4, "d_3", basicFolder.UID, basicFolder.ID),
|
||||
genDashboard(t, 5, "d_4", basicFolder.UID, basicFolder.ID),
|
||||
genDashboard(t, 6, "d_5", basicFolder.UID, basicFolder.ID),
|
||||
},
|
||||
dashboardPerms: map[string][]accesscontrol.SetResourcePermissionCommand{
|
||||
"d_1": {
|
||||
@@ -412,10 +412,10 @@ func TestDashAlertPermissionMigration(t *testing.T) {
|
||||
},
|
||||
},
|
||||
dashboards: []*dashboards.Dashboard{
|
||||
genDashboard(t, 3, "d_1", 1),
|
||||
genDashboard(t, 4, "d_2", 1),
|
||||
genDashboard(t, 5, "d_3", 2),
|
||||
genDashboard(t, 6, "d_4", 2),
|
||||
genDashboard(t, 3, "d_1", "", 1),
|
||||
genDashboard(t, 4, "d_2", "", 1),
|
||||
genDashboard(t, 5, "d_3", "", 2),
|
||||
genDashboard(t, 6, "d_4", "", 2),
|
||||
},
|
||||
dashboardPerms: map[string][]accesscontrol.SetResourcePermissionCommand{
|
||||
"d_1": {
|
||||
@@ -496,7 +496,7 @@ func TestDashAlertPermissionMigration(t *testing.T) {
|
||||
// General folder.
|
||||
{
|
||||
name: "dashboard in general folder with default permissions migrates to General Alerting subfolder for permission",
|
||||
dashboards: []*dashboards.Dashboard{genDashboard(t, 1, "d_1", 0)}, // Dashboard in general folder.
|
||||
dashboards: []*dashboards.Dashboard{genDashboard(t, 1, "d_1", "", 0)}, // Dashboard in general folder.
|
||||
dashboardPerms: map[string][]accesscontrol.SetResourcePermissionCommand{
|
||||
"d_1": defaultPerms,
|
||||
},
|
||||
@@ -514,7 +514,7 @@ func TestDashAlertPermissionMigration(t *testing.T) {
|
||||
},
|
||||
{
|
||||
name: "dashboard in general folder with some perms migrates to General Alerting subfolder with correct permissions",
|
||||
dashboards: []*dashboards.Dashboard{genDashboard(t, 1, "d_1", 0)}, // Dashboard in general folder.
|
||||
dashboards: []*dashboards.Dashboard{genDashboard(t, 1, "d_1", "", 0)}, // Dashboard in general folder.
|
||||
dashboardPerms: map[string][]accesscontrol.SetResourcePermissionCommand{
|
||||
"d_1": { // Missing viewer.
|
||||
{BuiltinRole: string(org.RoleEditor), Permission: dashboardaccess.PERMISSION_EDIT.String()},
|
||||
@@ -533,7 +533,7 @@ func TestDashAlertPermissionMigration(t *testing.T) {
|
||||
},
|
||||
{
|
||||
name: "dashboard in general folder with empty perms migrates to General Alerting",
|
||||
dashboards: []*dashboards.Dashboard{genDashboard(t, 1, "d_1", 0)}, // Dashboard in general folder.
|
||||
dashboards: []*dashboards.Dashboard{genDashboard(t, 1, "d_1", "", 0)}, // Dashboard in general folder.
|
||||
alerts: []*models.Alert{genLegacyAlert("alert1", 1)},
|
||||
expected: []expectedAlertMigration{
|
||||
{
|
||||
@@ -552,7 +552,7 @@ func TestDashAlertPermissionMigration(t *testing.T) {
|
||||
folders: []*dashboards.Dashboard{basicFolder},
|
||||
folderPerms: map[string][]accesscontrol.SetResourcePermissionCommand{basicFolder.UID: defaultPerms},
|
||||
dashboards: []*dashboards.Dashboard{
|
||||
genDashboard(t, 2, "d_1", basicFolder.ID),
|
||||
genDashboard(t, 2, "d_1", basicFolder.UID, basicFolder.ID),
|
||||
},
|
||||
dashboardPerms: map[string][]accesscontrol.SetResourcePermissionCommand{
|
||||
"d_1": {
|
||||
|
||||
@@ -46,9 +46,9 @@ func TestServiceRevert(t *testing.T) {
|
||||
createAlertNotification(t, int64(1), "notifier1", "email", emailSettings, false),
|
||||
}
|
||||
dashes := []*dashboards.Dashboard{
|
||||
createDashboard(t, 1, 1, "dash1-1", 5, nil),
|
||||
createDashboard(t, 2, 1, "dash2-1", 5, nil),
|
||||
createDashboard(t, 8, 1, "dash-in-general-1", 0, nil),
|
||||
createDashboard(t, 1, 1, "dash1-1", "folder5-1", 5, nil),
|
||||
createDashboard(t, 2, 1, "dash2-1", "folder5-1", 5, nil),
|
||||
createDashboard(t, 8, 1, "dash-in-general-1", "", 0, nil),
|
||||
}
|
||||
folders := []*dashboards.Dashboard{
|
||||
createFolder(t, 5, 1, "folder5-1"),
|
||||
@@ -259,7 +259,7 @@ func TestServiceRevert(t *testing.T) {
|
||||
|
||||
// Create dashboard in general alerting.
|
||||
newDashes := []*dashboards.Dashboard{
|
||||
createDashboard(t, 99, 1, "dash-in-general-alerting-1", generalAlertingFolder.ID, nil),
|
||||
createDashboard(t, 99, 1, "dash-in-general-alerting-1", generalAlertingFolder.UID, generalAlertingFolder.ID, nil),
|
||||
}
|
||||
_, err = x.Insert(newDashes)
|
||||
require.NoError(t, err)
|
||||
@@ -1826,7 +1826,7 @@ func (h *serviceHelper) genFolder() *dashboards.Dashboard {
|
||||
}
|
||||
|
||||
func (h *serviceHelper) genDash(folder *dashboards.Dashboard) *dashboards.Dashboard {
|
||||
d := createDashboard(h.t, h.dashIncr, 1, fmt.Sprintf("dash%d", h.dashIncr), folder.ID, nil)
|
||||
d := createDashboard(h.t, h.dashIncr, 1, fmt.Sprintf("dash%d", h.dashIncr), folder.UID, folder.ID, nil)
|
||||
d.Title = fmt.Sprintf("dash title%d", h.dashIncr)
|
||||
|
||||
h.dashIncr++
|
||||
|
||||
@@ -33,7 +33,7 @@ func TestSilences(t *testing.T) {
|
||||
|
||||
o := createOrg(t, 1)
|
||||
folder1 := createFolder(t, 1, o.ID, "folder-1")
|
||||
dash1 := createDashboard(t, 3, o.ID, "dash1", folder1.ID, nil)
|
||||
dash1 := createDashboard(t, 3, o.ID, "dash1", "", folder1.ID, nil)
|
||||
|
||||
silenceTests := []struct {
|
||||
name string
|
||||
|
||||
Reference in New Issue
Block a user