dashboards: reject updates of provisioned dashboards

This commit is contained in:
bergquist
2018-03-27 15:12:47 +02:00
parent d6faa3d06f
commit 627df67992
8 changed files with 96 additions and 24 deletions
@@ -21,12 +21,17 @@ type DashboardExtras struct {
func GetProvisionedDataByDashboardId(cmd *models.GetProvisionedDashboardByDashboardId) error {
result := &models.DashboardProvisioning{}
_, err := x.Where("dashboard_id = ?", cmd.DashboardId).Get(result)
exist, err := x.Where("dashboard_id = ?", cmd.DashboardId).Get(result)
if err != nil {
return err
}
if !exist {
return models.ErrDashboardProvisioningDoesNotExist
}
cmd.Result = result
return nil
}
@@ -60,6 +60,13 @@ func TestDashboardProvisioningTest(t *testing.T) {
So(query.Result.DashboardId, ShouldEqual, cmd.Result.Id)
So(query.Result.Updated, ShouldEqual, now.Unix())
})
Convey("Can query for one provisioned dashboard2", func() {
query := &models.GetProvisionedDashboardByDashboardId{DashboardId: 3000}
err := GetProvisionedDataByDashboardId(query)
So(err, ShouldEqual, models.ErrDashboardProvisioningDoesNotExist)
})
})
})
}
@@ -19,7 +19,6 @@ func TestIntegratedDashboardService(t *testing.T) {
var testOrgId int64 = 1
Convey("Given saved folders and dashboards in organization A", func() {
bus.AddHandler("test", func(cmd *models.ValidateDashboardAlertsCommand) error {
return nil
})
@@ -28,6 +27,10 @@ func TestIntegratedDashboardService(t *testing.T) {
return nil
})
bus.AddHandler("test", func(cmd *models.GetProvisionedDashboardByDashboardId) error {
return models.ErrDashboardProvisioningDoesNotExist
})
savedFolder := saveTestFolder("Saved folder", testOrgId)
savedDashInFolder := saveTestDashboard("Saved dash in folder", testOrgId, savedFolder.Id)
saveTestDashboard("Other saved dash in folder", testOrgId, savedFolder.Id)