Chore: Move dashboard models to dashboard pkg (#61458)

* Copy dashboard models to dashboard pkg

* Use some models from current pkg instead of models

* Adjust api pkg

* Adjust pkg services

* Fix lint
This commit is contained in:
idafurjes
2023-01-16 16:33:55 +01:00
committed by GitHub
parent 07bbc0716c
commit 7c2522c477
83 changed files with 1770 additions and 1444 deletions
+100 -100
View File
@@ -35,7 +35,7 @@ func TestIntegrationDashboardDataAccess(t *testing.T) {
}
var sqlStore *sqlstore.SQLStore
var cfg *setting.Cfg
var savedFolder, savedDash, savedDash2 *models.Dashboard
var savedFolder, savedDash, savedDash2 *dashboards.Dashboard
var dashboardStore *DashboardStore
var starService star.Service
var publicDashboardStore *database.PublicDashboardStoreImpl
@@ -48,10 +48,10 @@ func TestIntegrationDashboardDataAccess(t *testing.T) {
dashboardStore, err = ProvideDashboardStore(sqlStore, cfg, testFeatureToggles, tagimpl.ProvideService(sqlStore, cfg), quotaService)
require.NoError(t, err)
savedFolder = insertTestDashboard(t, dashboardStore, "1 test dash folder", 1, 0, true, "prod", "webapp")
savedDash = insertTestDashboard(t, dashboardStore, "test dash 23", 1, savedFolder.Id, false, "prod", "webapp")
insertTestDashboard(t, dashboardStore, "test dash 45", 1, savedFolder.Id, false, "prod")
savedDash = insertTestDashboard(t, dashboardStore, "test dash 23", 1, savedFolder.ID, false, "prod", "webapp")
insertTestDashboard(t, dashboardStore, "test dash 45", 1, savedFolder.ID, false, "prod")
savedDash2 = insertTestDashboard(t, dashboardStore, "test dash 67", 1, 0, false, "prod")
insertTestRule(t, sqlStore, savedFolder.OrgId, savedFolder.Uid)
insertTestRule(t, sqlStore, savedFolder.OrgID, savedFolder.UID)
publicDashboardStore = database.ProvideStore(sqlStore)
}
@@ -60,24 +60,24 @@ func TestIntegrationDashboardDataAccess(t *testing.T) {
setup()
require.Equal(t, savedDash.Title, "test dash 23")
require.Equal(t, savedDash.Slug, "test-dash-23")
require.NotEqual(t, savedDash.Id, 0)
require.NotEqual(t, savedDash.ID, 0)
require.False(t, savedDash.IsFolder)
require.Positive(t, savedDash.FolderId)
require.Positive(t, len(savedDash.Uid))
require.Positive(t, savedDash.FolderID)
require.Positive(t, len(savedDash.UID))
require.Equal(t, savedFolder.Title, "1 test dash folder")
require.Equal(t, savedFolder.Slug, "1-test-dash-folder")
require.NotEqual(t, savedFolder.Id, 0)
require.NotEqual(t, savedFolder.ID, 0)
require.True(t, savedFolder.IsFolder)
require.EqualValues(t, savedFolder.FolderId, 0)
require.Positive(t, len(savedFolder.Uid))
require.EqualValues(t, savedFolder.FolderID, 0)
require.Positive(t, len(savedFolder.UID))
})
t.Run("Should be able to get dashboard by id", func(t *testing.T) {
setup()
query := models.GetDashboardQuery{
Id: savedDash.Id,
OrgId: 1,
query := dashboards.GetDashboardQuery{
ID: savedDash.ID,
OrgID: 1,
}
_, err := dashboardStore.GetDashboard(context.Background(), &query)
@@ -85,16 +85,16 @@ func TestIntegrationDashboardDataAccess(t *testing.T) {
require.Equal(t, query.Result.Title, "test dash 23")
require.Equal(t, query.Result.Slug, "test-dash-23")
require.Equal(t, query.Result.Id, savedDash.Id)
require.Equal(t, query.Result.Uid, savedDash.Uid)
require.Equal(t, query.Result.ID, savedDash.ID)
require.Equal(t, query.Result.UID, savedDash.UID)
require.False(t, query.Result.IsFolder)
})
t.Run("Should be able to get dashboard by slug", func(t *testing.T) {
setup()
query := models.GetDashboardQuery{
query := dashboards.GetDashboardQuery{
Slug: "test-dash-23",
OrgId: 1,
OrgID: 1,
}
_, err := dashboardStore.GetDashboard(context.Background(), &query)
@@ -102,16 +102,16 @@ func TestIntegrationDashboardDataAccess(t *testing.T) {
require.Equal(t, query.Result.Title, "test dash 23")
require.Equal(t, query.Result.Slug, "test-dash-23")
require.Equal(t, query.Result.Id, savedDash.Id)
require.Equal(t, query.Result.Uid, savedDash.Uid)
require.Equal(t, query.Result.ID, savedDash.ID)
require.Equal(t, query.Result.UID, savedDash.UID)
require.False(t, query.Result.IsFolder)
})
t.Run("Should be able to get dashboard by uid", func(t *testing.T) {
setup()
query := models.GetDashboardQuery{
Uid: savedDash.Uid,
OrgId: 1,
query := dashboards.GetDashboardQuery{
UID: savedDash.UID,
OrgID: 1,
}
_, err := dashboardStore.GetDashboard(context.Background(), &query)
@@ -119,23 +119,23 @@ func TestIntegrationDashboardDataAccess(t *testing.T) {
require.Equal(t, query.Result.Title, "test dash 23")
require.Equal(t, query.Result.Slug, "test-dash-23")
require.Equal(t, query.Result.Id, savedDash.Id)
require.Equal(t, query.Result.Uid, savedDash.Uid)
require.Equal(t, query.Result.ID, savedDash.ID)
require.Equal(t, query.Result.UID, savedDash.UID)
require.False(t, query.Result.IsFolder)
})
t.Run("Should be able to get a dashboard UID by ID", func(t *testing.T) {
setup()
query := models.GetDashboardRefByIdQuery{Id: savedDash.Id}
err := dashboardStore.GetDashboardUIDById(context.Background(), &query)
query := dashboards.GetDashboardRefByIDQuery{ID: savedDash.ID}
err := dashboardStore.GetDashboardUIDByID(context.Background(), &query)
require.NoError(t, err)
require.Equal(t, query.Result.Uid, savedDash.Uid)
require.Equal(t, query.Result.UID, savedDash.UID)
})
t.Run("Shouldn't be able to get a dashboard with just an OrgID", func(t *testing.T) {
setup()
query := models.GetDashboardQuery{
OrgId: 1,
query := dashboards.GetDashboardQuery{
OrgID: 1,
}
_, err := dashboardStore.GetDashboard(context.Background(), &query)
@@ -144,12 +144,12 @@ func TestIntegrationDashboardDataAccess(t *testing.T) {
t.Run("Should be able to get dashboards by IDs & UIDs", func(t *testing.T) {
setup()
query := models.GetDashboardsQuery{DashboardIds: []int64{savedDash.Id, savedDash2.Id}}
query := dashboards.GetDashboardsQuery{DashboardIDs: []int64{savedDash.ID, savedDash2.ID}}
err := dashboardStore.GetDashboards(context.Background(), &query)
require.NoError(t, err)
assert.Equal(t, len(query.Result), 2)
query = models.GetDashboardsQuery{DashboardUIds: []string{savedDash.Uid, savedDash2.Uid}}
query = dashboards.GetDashboardsQuery{DashboardUIDs: []string{savedDash.UID, savedDash2.UID}}
err = dashboardStore.GetDashboards(context.Background(), &query)
require.NoError(t, err)
assert.Equal(t, len(query.Result), 2)
@@ -160,7 +160,7 @@ func TestIntegrationDashboardDataAccess(t *testing.T) {
dash := insertTestDashboard(t, dashboardStore, "delete me", 1, 0, false, "delete this")
err := dashboardStore.DeleteDashboard(context.Background(), &models.DeleteDashboardCommand{
Id: dash.Id,
Id: dash.ID,
OrgId: 1,
})
require.NoError(t, err)
@@ -168,13 +168,13 @@ func TestIntegrationDashboardDataAccess(t *testing.T) {
t.Run("Should be able to create dashboard", func(t *testing.T) {
setup()
cmd := models.SaveDashboardCommand{
OrgId: 1,
cmd := dashboards.SaveDashboardCommand{
OrgID: 1,
Dashboard: simplejson.NewFromAny(map[string]interface{}{
"title": "folderId",
"tags": []interface{}{},
}),
UserId: 100,
UserID: 100,
}
dashboard, err := dashboardStore.SaveDashboard(context.Background(), cmd)
require.NoError(t, err)
@@ -186,43 +186,43 @@ func TestIntegrationDashboardDataAccess(t *testing.T) {
t.Run("Should be able to update dashboard by id and remove folderId", func(t *testing.T) {
setup()
cmd := models.SaveDashboardCommand{
OrgId: 1,
cmd := dashboards.SaveDashboardCommand{
OrgID: 1,
Dashboard: simplejson.NewFromAny(map[string]interface{}{
"id": savedDash.Id,
"id": savedDash.ID,
"title": "folderId",
"tags": []interface{}{},
}),
Overwrite: true,
FolderId: 2,
UserId: 100,
FolderID: 2,
UserID: 100,
}
dash, err := dashboardStore.SaveDashboard(context.Background(), cmd)
require.NoError(t, err)
require.EqualValues(t, dash.FolderId, 2)
require.EqualValues(t, dash.FolderID, 2)
cmd = models.SaveDashboardCommand{
OrgId: 1,
cmd = dashboards.SaveDashboardCommand{
OrgID: 1,
Dashboard: simplejson.NewFromAny(map[string]interface{}{
"id": savedDash.Id,
"id": savedDash.ID,
"title": "folderId",
"tags": []interface{}{},
}),
FolderId: 0,
FolderID: 0,
Overwrite: true,
UserId: 100,
UserID: 100,
}
_, err = dashboardStore.SaveDashboard(context.Background(), cmd)
require.NoError(t, err)
query := models.GetDashboardQuery{
Id: savedDash.Id,
OrgId: 1,
query := dashboards.GetDashboardQuery{
ID: savedDash.ID,
OrgID: 1,
}
_, err = dashboardStore.GetDashboard(context.Background(), &query)
require.NoError(t, err)
require.Equal(t, query.Result.FolderId, int64(0))
require.Equal(t, query.Result.FolderID, int64(0))
require.Equal(t, query.Result.CreatedBy, savedDash.CreatedBy)
require.WithinDuration(t, query.Result.Created, savedDash.Created, 3*time.Second)
require.Equal(t, query.Result.UpdatedBy, int64(100))
@@ -233,14 +233,14 @@ func TestIntegrationDashboardDataAccess(t *testing.T) {
setup()
emptyFolder := insertTestDashboard(t, dashboardStore, "2 test dash folder", 1, 0, true, "prod", "webapp")
deleteCmd := &models.DeleteDashboardCommand{Id: emptyFolder.Id}
deleteCmd := &models.DeleteDashboardCommand{Id: emptyFolder.ID}
err := dashboardStore.DeleteDashboard(context.Background(), deleteCmd)
require.NoError(t, err)
})
t.Run("Should be not able to delete a dashboard if force delete rules is disabled", func(t *testing.T) {
setup()
deleteCmd := &models.DeleteDashboardCommand{Id: savedFolder.Id, ForceDeleteFolderRules: false}
deleteCmd := &models.DeleteDashboardCommand{Id: savedFolder.ID, ForceDeleteFolderRules: false}
err := dashboardStore.DeleteDashboard(context.Background(), deleteCmd)
require.True(t, errors.Is(err, dashboards.ErrFolderContainsAlertRules))
})
@@ -252,8 +252,8 @@ func TestIntegrationDashboardDataAccess(t *testing.T) {
cmd := publicDashboardModels.SavePublicDashboardCommand{
PublicDashboard: publicDashboardModels.PublicDashboard{
Uid: uid,
DashboardUid: savedDash.Uid,
OrgId: savedDash.OrgId,
DashboardUid: savedDash.UID,
OrgId: savedDash.OrgID,
IsEnabled: true,
TimeSettings: &publicDashboardModels.TimeSettings{},
CreatedBy: 1,
@@ -266,11 +266,11 @@ func TestIntegrationDashboardDataAccess(t *testing.T) {
pubdashConfig, _ := publicDashboardStore.FindByAccessToken(context.Background(), "an-access-token")
require.NotNil(t, pubdashConfig)
deleteCmd := &models.DeleteDashboardCommand{Id: savedDash.Id, OrgId: savedDash.OrgId}
deleteCmd := &models.DeleteDashboardCommand{Id: savedDash.ID, OrgId: savedDash.OrgID}
err = dashboardStore.DeleteDashboard(context.Background(), deleteCmd)
require.NoError(t, err)
query := models.GetDashboardQuery{Uid: savedDash.Uid, OrgId: savedDash.OrgId}
query := dashboards.GetDashboardQuery{UID: savedDash.UID, OrgID: savedDash.OrgID}
dash, getErr := dashboardStore.GetDashboard(context.Background(), &query)
require.Equal(t, getErr, dashboards.ErrDashboardNotFound)
assert.Nil(t, dash)
@@ -287,8 +287,8 @@ func TestIntegrationDashboardDataAccess(t *testing.T) {
cmd := publicDashboardModels.SavePublicDashboardCommand{
PublicDashboard: publicDashboardModels.PublicDashboard{
Uid: uid,
DashboardUid: savedDash.Uid,
OrgId: savedDash.OrgId,
DashboardUid: savedDash.UID,
OrgId: savedDash.OrgID,
IsEnabled: true,
TimeSettings: &publicDashboardModels.TimeSettings{},
CreatedBy: 1,
@@ -301,12 +301,12 @@ func TestIntegrationDashboardDataAccess(t *testing.T) {
pubdashConfig, _ := publicDashboardStore.FindByAccessToken(context.Background(), "an-access-token")
require.NotNil(t, pubdashConfig)
deleteCmd := &models.DeleteDashboardCommand{Id: savedFolder.Id, ForceDeleteFolderRules: true}
deleteCmd := &models.DeleteDashboardCommand{Id: savedFolder.ID, ForceDeleteFolderRules: true}
err = dashboardStore.DeleteDashboard(context.Background(), deleteCmd)
require.NoError(t, err)
query := models.GetDashboardsQuery{
DashboardIds: []int64{savedFolder.Id, savedDash.Id},
query := dashboards.GetDashboardsQuery{
DashboardIDs: []int64{savedFolder.ID, savedDash.ID},
}
err = dashboardStore.GetDashboards(context.Background(), &query)
require.NoError(t, err)
@@ -319,13 +319,13 @@ func TestIntegrationDashboardDataAccess(t *testing.T) {
t.Run("Should be able to delete a dashboard folder and its children if force delete rules is enabled", func(t *testing.T) {
setup()
deleteCmd := &models.DeleteDashboardCommand{Id: savedFolder.Id, ForceDeleteFolderRules: true}
deleteCmd := &models.DeleteDashboardCommand{Id: savedFolder.ID, ForceDeleteFolderRules: true}
err := dashboardStore.DeleteDashboard(context.Background(), deleteCmd)
require.NoError(t, err)
query := models.FindPersistedDashboardsQuery{
OrgId: 1,
FolderIds: []int64{savedFolder.Id},
FolderIds: []int64{savedFolder.ID},
SignedInUser: &user.SignedInUser{},
}
@@ -335,12 +335,12 @@ func TestIntegrationDashboardDataAccess(t *testing.T) {
err = sqlStore.WithDbSession(context.Background(), func(sess *db.Session) error {
var existingRuleID int64
exists, err := sess.Table("alert_rule").Where("namespace_uid = (SELECT uid FROM dashboard WHERE id = ?)", savedFolder.Id).Cols("id").Get(&existingRuleID)
exists, err := sess.Table("alert_rule").Where("namespace_uid = (SELECT uid FROM dashboard WHERE id = ?)", savedFolder.ID).Cols("id").Get(&existingRuleID)
require.NoError(t, err)
require.False(t, exists)
var existingRuleVersionID int64
exists, err = sess.Table("alert_rule_version").Where("rule_namespace_uid = (SELECT uid FROM dashboard WHERE id = ?)", savedFolder.Id).Cols("id").Get(&existingRuleVersionID)
exists, err = sess.Table("alert_rule_version").Where("rule_namespace_uid = (SELECT uid FROM dashboard WHERE id = ?)", savedFolder.ID).Cols("id").Get(&existingRuleVersionID)
require.NoError(t, err)
require.False(t, exists)
@@ -350,8 +350,8 @@ func TestIntegrationDashboardDataAccess(t *testing.T) {
})
t.Run("Should return error if no dashboard is found for update when dashboard id is greater than zero", func(t *testing.T) {
cmd := models.SaveDashboardCommand{
OrgId: 1,
cmd := dashboards.SaveDashboardCommand{
OrgID: 1,
Overwrite: true,
Dashboard: simplejson.NewFromAny(map[string]interface{}{
"id": float64(123412321),
@@ -365,8 +365,8 @@ func TestIntegrationDashboardDataAccess(t *testing.T) {
})
t.Run("Should not return error if no dashboard is found for update when dashboard id is zero", func(t *testing.T) {
cmd := models.SaveDashboardCommand{
OrgId: 1,
cmd := dashboards.SaveDashboardCommand{
OrgID: 1,
Overwrite: true,
Dashboard: simplejson.NewFromAny(map[string]interface{}{
"id": 0,
@@ -408,7 +408,7 @@ func TestIntegrationDashboardDataAccess(t *testing.T) {
require.Equal(t, len(query.Result), 1)
hit := query.Result[0]
require.Equal(t, hit.Type, models.DashHitFolder)
require.Equal(t, hit.URL, fmt.Sprintf("/dashboards/f/%s/%s", savedFolder.Uid, savedFolder.Slug))
require.Equal(t, hit.URL, fmt.Sprintf("/dashboards/f/%s/%s", savedFolder.UID, savedFolder.Slug))
require.Equal(t, hit.FolderTitle, "")
})
@@ -484,7 +484,7 @@ func TestIntegrationDashboardDataAccess(t *testing.T) {
setup()
query := models.FindPersistedDashboardsQuery{
OrgId: 1,
FolderIds: []int64{savedFolder.Id},
FolderIds: []int64{savedFolder.ID},
SignedInUser: &user.SignedInUser{
OrgID: 1,
OrgRole: org.RoleEditor,
@@ -499,18 +499,18 @@ func TestIntegrationDashboardDataAccess(t *testing.T) {
require.Equal(t, len(query.Result), 2)
hit := query.Result[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)
require.Equal(t, hit.FolderUID, savedFolder.Uid)
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)
require.Equal(t, hit.FolderUID, savedFolder.UID)
require.Equal(t, hit.FolderTitle, savedFolder.Title)
require.Equal(t, hit.FolderURL, fmt.Sprintf("/dashboards/f/%s/%s", savedFolder.Uid, savedFolder.Slug))
require.Equal(t, hit.FolderURL, fmt.Sprintf("/dashboards/f/%s/%s", savedFolder.UID, savedFolder.Slug))
})
t.Run("Should be able to find dashboards by ids", func(t *testing.T) {
setup()
query := models.FindPersistedDashboardsQuery{
DashboardIds: []int64{savedDash.Id, savedDash2.Id},
DashboardIds: []int64{savedDash.ID, savedDash2.ID},
SignedInUser: &user.SignedInUser{
OrgID: 1,
OrgRole: org.RoleEditor,
@@ -536,13 +536,13 @@ func TestIntegrationDashboardDataAccess(t *testing.T) {
setup()
starredDash := insertTestDashboard(t, dashboardStore, "starred dash", 1, 0, false)
err := starService.Add(context.Background(), &star.StarDashboardCommand{
DashboardID: starredDash.Id,
DashboardID: starredDash.ID,
UserID: 10,
})
require.NoError(t, err)
err = starService.Add(context.Background(), &star.StarDashboardCommand{
DashboardID: savedDash.Id,
DashboardID: savedDash.ID,
UserID: 1,
})
require.NoError(t, err)
@@ -576,7 +576,7 @@ func TestIntegrationDashboardDataAccess(t *testing.T) {
count, err = dashboardStore.CountDashboardsInFolder(
context.Background(),
&dashboards.CountDashboardsInFolderRequest{FolderID: savedFolder.Id, OrgID: 1})
&dashboards.CountDashboardsInFolderRequest{FolderID: savedFolder.ID, OrgID: 1})
require.NoError(t, err)
require.Equal(t, int64(2), count)
})
@@ -595,8 +595,8 @@ func TestIntegrationDashboardDataAccessGivenPluginWithImportedDashboards(t *test
pluginId := "test-app"
appFolder := insertTestDashboardForPlugin(t, dashboardStore, "app-test", 1, 0, true, pluginId)
insertTestDashboardForPlugin(t, dashboardStore, "app-dash1", 1, appFolder.Id, false, pluginId)
insertTestDashboardForPlugin(t, dashboardStore, "app-dash2", 1, appFolder.Id, false, pluginId)
insertTestDashboardForPlugin(t, dashboardStore, "app-dash1", 1, appFolder.ID, false, pluginId)
insertTestDashboardForPlugin(t, dashboardStore, "app-dash2", 1, appFolder.ID, false, pluginId)
query := models.GetDashboardsByPluginIdQuery{
PluginId: pluginId,
@@ -621,8 +621,8 @@ func TestIntegrationDashboard_SortingOptions(t *testing.T) {
dashB := insertTestDashboard(t, dashboardStore, "Beta", 1, 0, false)
dashA := insertTestDashboard(t, dashboardStore, "Alfa", 1, 0, false)
assert.NotZero(t, dashA.Id)
assert.Less(t, dashB.Id, dashA.Id)
assert.NotZero(t, dashA.ID)
assert.Less(t, dashB.ID, dashA.ID)
qNoSort := &models.FindPersistedDashboardsQuery{
SignedInUser: &user.SignedInUser{
OrgID: 1,
@@ -636,8 +636,8 @@ func TestIntegrationDashboard_SortingOptions(t *testing.T) {
results, err := dashboardStore.FindDashboards(context.Background(), qNoSort)
require.NoError(t, err)
require.Len(t, results, 2)
assert.Equal(t, dashA.Id, results[0].ID)
assert.Equal(t, dashB.Id, results[1].ID)
assert.Equal(t, dashA.ID, results[0].ID)
assert.Equal(t, dashB.ID, results[1].ID)
qSort := &models.FindPersistedDashboardsQuery{
SignedInUser: &user.SignedInUser{
@@ -657,8 +657,8 @@ func TestIntegrationDashboard_SortingOptions(t *testing.T) {
results, err = dashboardStore.FindDashboards(context.Background(), qSort)
require.NoError(t, err)
require.Len(t, results, 2)
assert.Equal(t, dashB.Id, results[0].ID)
assert.Equal(t, dashA.Id, results[1].ID)
assert.Equal(t, dashB.ID, results[0].ID)
assert.Equal(t, dashA.ID, results[1].ID)
}
func TestIntegrationDashboard_Filter(t *testing.T) {
@@ -706,7 +706,7 @@ func TestIntegrationDashboard_Filter(t *testing.T) {
results, err = dashboardStore.FindDashboards(context.Background(), qFilter)
require.NoError(t, err)
require.Len(t, results, 1)
assert.Equal(t, dashB.Id, results[0].ID)
assert.Equal(t, dashB.ID, results[0].ID)
}
func insertTestRule(t *testing.T, sqlStore db.DB, foderOrgID int64, folderUID string) {
@@ -783,11 +783,11 @@ func insertTestRule(t *testing.T, sqlStore db.DB, foderOrgID int64, folderUID st
}
func insertTestDashboard(t *testing.T, dashboardStore *DashboardStore, title string, orgId int64,
folderId int64, isFolder bool, tags ...interface{}) *models.Dashboard {
folderId int64, isFolder bool, tags ...interface{}) *dashboards.Dashboard {
t.Helper()
cmd := models.SaveDashboardCommand{
OrgId: orgId,
FolderId: folderId,
cmd := dashboards.SaveDashboardCommand{
OrgID: orgId,
FolderID: folderId,
IsFolder: isFolder,
Dashboard: simplejson.NewFromAny(map[string]interface{}{
"id": nil,
@@ -798,23 +798,23 @@ func insertTestDashboard(t *testing.T, dashboardStore *DashboardStore, title str
dash, err := dashboardStore.SaveDashboard(context.Background(), cmd)
require.NoError(t, err)
require.NotNil(t, dash)
dash.Data.Set("id", dash.Id)
dash.Data.Set("uid", dash.Uid)
dash.Data.Set("id", dash.ID)
dash.Data.Set("uid", dash.UID)
return dash
}
func insertTestDashboardForPlugin(t *testing.T, dashboardStore *DashboardStore, title string, orgId int64,
folderId int64, isFolder bool, pluginId string) *models.Dashboard {
folderId int64, isFolder bool, pluginId string) *dashboards.Dashboard {
t.Helper()
cmd := models.SaveDashboardCommand{
OrgId: orgId,
FolderId: folderId,
cmd := dashboards.SaveDashboardCommand{
OrgID: orgId,
FolderID: folderId,
IsFolder: isFolder,
Dashboard: simplejson.NewFromAny(map[string]interface{}{
"id": nil,
"title": title,
}),
PluginId: pluginId,
PluginID: pluginId,
}
dash, err := dashboardStore.SaveDashboard(context.Background(), cmd)