Chore: Remove bus from dashboards provisioning (#47495) (#47507)

* Chore: Remove bus from dashboards provisioning

* fix symlink test, make it run on darwin

* remove unused mock

(cherry picked from commit ad432108e6)

Co-authored-by: Serge Zaitsev <serge.zaitsev@grafana.com>
This commit is contained in:
Grot (@grafanabot)
2022-04-12 14:04:40 +02:00
committed by GitHub
co-authored by Serge Zaitsev
parent f438ffacf6
commit be0d1a8d57
8 changed files with 59 additions and 53 deletions
@@ -8,7 +8,6 @@ import (
"testing"
"time"
"github.com/grafana/grafana/pkg/bus"
"github.com/grafana/grafana/pkg/infra/log"
"github.com/grafana/grafana/pkg/models"
"github.com/grafana/grafana/pkg/services/dashboards"
@@ -42,7 +41,7 @@ func TestCreatingNewDashboardFileReader(t *testing.T) {
t.Run("using path parameter", func(t *testing.T) {
cfg := setup()
cfg.Options["path"] = defaultDashboards
reader, err := NewDashboardFileReader(cfg, log.New("test-logger"), nil)
reader, err := NewDashboardFileReader(cfg, log.New("test-logger"), nil, nil)
require.NoError(t, err)
require.NotEqual(t, reader.Path, "")
})
@@ -50,7 +49,7 @@ func TestCreatingNewDashboardFileReader(t *testing.T) {
t.Run("using folder as options", func(t *testing.T) {
cfg := setup()
cfg.Options["folder"] = defaultDashboards
reader, err := NewDashboardFileReader(cfg, log.New("test-logger"), nil)
reader, err := NewDashboardFileReader(cfg, log.New("test-logger"), nil, nil)
require.NoError(t, err)
require.NotEqual(t, reader.Path, "")
})
@@ -59,7 +58,7 @@ func TestCreatingNewDashboardFileReader(t *testing.T) {
cfg := setup()
cfg.Options["path"] = foldersFromFilesStructure
cfg.Options["foldersFromFilesStructure"] = true
reader, err := NewDashboardFileReader(cfg, log.New("test-logger"), nil)
reader, err := NewDashboardFileReader(cfg, log.New("test-logger"), nil, nil)
require.NoError(t, err)
require.NotEqual(t, reader.Path, "")
})
@@ -72,7 +71,7 @@ func TestCreatingNewDashboardFileReader(t *testing.T) {
}
cfg.Options["folder"] = fullPath
reader, err := NewDashboardFileReader(cfg, log.New("test-logger"), nil)
reader, err := NewDashboardFileReader(cfg, log.New("test-logger"), nil, nil)
require.NoError(t, err)
require.Equal(t, reader.Path, fullPath)
@@ -82,7 +81,7 @@ func TestCreatingNewDashboardFileReader(t *testing.T) {
t.Run("using relative path", func(t *testing.T) {
cfg := setup()
cfg.Options["folder"] = defaultDashboards
reader, err := NewDashboardFileReader(cfg, log.New("test-logger"), nil)
reader, err := NewDashboardFileReader(cfg, log.New("test-logger"), nil, nil)
require.NoError(t, err)
resolvedPath := reader.resolvedPath()
@@ -96,9 +95,8 @@ func TestDashboardFileReader(t *testing.T) {
fakeService := &dashboards.FakeDashboardProvisioning{}
defer fakeService.AssertExpectations(t)
fakeStore := &fakeDashboardStore{}
setup := func() {
bus.ClearBusHandlers()
bus.AddHandler("test", mockGetDashboardQuery)
cfg = &config{
Name: configName,
Type: "file",
@@ -118,7 +116,7 @@ func TestDashboardFileReader(t *testing.T) {
fakeService.On("SaveFolderForProvisionedDashboards", mock.Anything, mock.Anything).Return(&models.Dashboard{Id: 1}, nil).Once()
fakeService.On("SaveProvisionedDashboard", mock.Anything, mock.Anything, mock.Anything).Return(&models.Dashboard{Id: 2}, nil).Times(2)
reader, err := NewDashboardFileReader(cfg, logger, nil)
reader, err := NewDashboardFileReader(cfg, logger, nil, fakeStore)
reader.dashboardProvisioningService = fakeService
require.NoError(t, err)
@@ -138,7 +136,7 @@ func TestDashboardFileReader(t *testing.T) {
inserted++
})
reader, err := NewDashboardFileReader(cfg, logger, nil)
reader, err := NewDashboardFileReader(cfg, logger, nil, fakeStore)
reader.dashboardProvisioningService = fakeService
require.NoError(t, err)
@@ -175,7 +173,7 @@ func TestDashboardFileReader(t *testing.T) {
fakeService.On("GetProvisionedDashboardData", configName).Return(provisionedDashboard, nil).Once()
reader, err := NewDashboardFileReader(cfg, logger, nil)
reader, err := NewDashboardFileReader(cfg, logger, nil, fakeStore)
reader.dashboardProvisioningService = fakeService
require.NoError(t, err)
@@ -203,7 +201,7 @@ func TestDashboardFileReader(t *testing.T) {
fakeService.On("GetProvisionedDashboardData", configName).Return(provisionedDashboard, nil).Once()
fakeService.On("SaveProvisionedDashboard", mock.Anything, mock.Anything, mock.Anything).Return(&models.Dashboard{}, nil).Once()
reader, err := NewDashboardFileReader(cfg, logger, nil)
reader, err := NewDashboardFileReader(cfg, logger, nil, fakeStore)
reader.dashboardProvisioningService = fakeService
require.NoError(t, err)
@@ -238,7 +236,7 @@ func TestDashboardFileReader(t *testing.T) {
fakeService.On("GetProvisionedDashboardData", configName).Return(provisionedDashboard, nil).Once()
reader, err := NewDashboardFileReader(cfg, logger, nil)
reader, err := NewDashboardFileReader(cfg, logger, nil, fakeStore)
reader.dashboardProvisioningService = fakeService
require.NoError(t, err)
@@ -266,7 +264,7 @@ func TestDashboardFileReader(t *testing.T) {
fakeService.On("GetProvisionedDashboardData", configName).Return(provisionedDashboard, nil).Once()
fakeService.On("SaveProvisionedDashboard", mock.Anything, mock.Anything, mock.Anything).Return(&models.Dashboard{}, nil).Once()
reader, err := NewDashboardFileReader(cfg, logger, nil)
reader, err := NewDashboardFileReader(cfg, logger, nil, fakeStore)
reader.dashboardProvisioningService = fakeService
require.NoError(t, err)
@@ -281,7 +279,7 @@ func TestDashboardFileReader(t *testing.T) {
fakeService.On("GetProvisionedDashboardData", configName).Return(nil, nil).Once()
fakeService.On("SaveProvisionedDashboard", mock.Anything, mock.Anything, mock.Anything).Return(&models.Dashboard{}, nil).Once()
reader, err := NewDashboardFileReader(cfg, logger, nil)
reader, err := NewDashboardFileReader(cfg, logger, nil, fakeStore)
reader.dashboardProvisioningService = fakeService
require.NoError(t, err)
@@ -298,7 +296,7 @@ func TestDashboardFileReader(t *testing.T) {
fakeService.On("SaveFolderForProvisionedDashboards", mock.Anything, mock.Anything).Return(&models.Dashboard{}, nil).Times(2)
fakeService.On("SaveProvisionedDashboard", mock.Anything, mock.Anything, mock.Anything).Return(&models.Dashboard{}, nil).Times(3)
reader, err := NewDashboardFileReader(cfg, logger, nil)
reader, err := NewDashboardFileReader(cfg, logger, nil, fakeStore)
reader.dashboardProvisioningService = fakeService
require.NoError(t, err)
@@ -315,7 +313,7 @@ func TestDashboardFileReader(t *testing.T) {
Folder: "",
}
_, err := NewDashboardFileReader(cfg, logger, nil)
_, err := NewDashboardFileReader(cfg, logger, nil, nil)
require.NotNil(t, err)
})
@@ -323,7 +321,7 @@ func TestDashboardFileReader(t *testing.T) {
setup()
cfg.Options["path"] = brokenDashboards
_, err := NewDashboardFileReader(cfg, logger, nil)
_, err := NewDashboardFileReader(cfg, logger, nil, nil)
require.NoError(t, err)
})
@@ -336,14 +334,14 @@ func TestDashboardFileReader(t *testing.T) {
fakeService.On("SaveFolderForProvisionedDashboards", mock.Anything, mock.Anything).Return(&models.Dashboard{}, nil).Times(2)
fakeService.On("SaveProvisionedDashboard", mock.Anything, mock.Anything, mock.Anything).Return(&models.Dashboard{}, nil).Times(2)
reader1, err := NewDashboardFileReader(cfg1, logger, nil)
reader1, err := NewDashboardFileReader(cfg1, logger, nil, fakeStore)
reader1.dashboardProvisioningService = fakeService
require.NoError(t, err)
err = reader1.walkDisk(context.Background())
require.NoError(t, err)
reader2, err := NewDashboardFileReader(cfg2, logger, nil)
reader2, err := NewDashboardFileReader(cfg2, logger, nil, fakeStore)
reader2.dashboardProvisioningService = fakeService
require.NoError(t, err)
@@ -363,7 +361,7 @@ func TestDashboardFileReader(t *testing.T) {
"folder": defaultDashboards,
},
}
r, err := NewDashboardFileReader(cfg, logger, nil)
r, err := NewDashboardFileReader(cfg, logger, nil, nil)
require.NoError(t, err)
_, err = r.getOrCreateFolderID(context.Background(), cfg, fakeService, cfg.Folder)
@@ -383,7 +381,7 @@ func TestDashboardFileReader(t *testing.T) {
}
fakeService.On("SaveFolderForProvisionedDashboards", mock.Anything, mock.Anything).Return(&models.Dashboard{Id: 1}, nil).Once()
r, err := NewDashboardFileReader(cfg, logger, nil)
r, err := NewDashboardFileReader(cfg, logger, nil, fakeStore)
require.NoError(t, err)
_, err = r.getOrCreateFolderID(context.Background(), cfg, fakeService, cfg.Folder)
@@ -403,7 +401,7 @@ func TestDashboardFileReader(t *testing.T) {
},
}
r, err := NewDashboardFileReader(cfg, logger, nil)
r, err := NewDashboardFileReader(cfg, logger, nil, fakeStore)
require.NoError(t, err)
_, err = r.getOrCreateFolderID(context.Background(), cfg, fakeService, cfg.Folder)
@@ -458,7 +456,7 @@ func TestDashboardFileReader(t *testing.T) {
cfg.DisableDeletion = true
reader, err := NewDashboardFileReader(cfg, logger, nil)
reader, err := NewDashboardFileReader(cfg, logger, nil, fakeStore)
reader.dashboardProvisioningService = fakeService
require.NoError(t, err)
@@ -473,7 +471,7 @@ func TestDashboardFileReader(t *testing.T) {
fakeService.On("SaveProvisionedDashboard", mock.Anything, mock.Anything, mock.Anything).Return(&models.Dashboard{}, nil).Once()
fakeService.On("DeleteProvisionedDashboard", mock.Anything, mock.Anything, mock.Anything).Return(nil).Once()
reader, err := NewDashboardFileReader(cfg, logger, nil)
reader, err := NewDashboardFileReader(cfg, logger, nil, fakeStore)
reader.dashboardProvisioningService = fakeService
require.NoError(t, err)
@@ -512,6 +510,8 @@ func (ffi FakeFileInfo) Sys() interface{} {
return nil
}
func mockGetDashboardQuery(_ context.Context, _ *models.GetDashboardQuery) error {
type fakeDashboardStore struct{}
func (fds *fakeDashboardStore) GetDashboard(_ context.Context, _ *models.GetDashboardQuery) error {
return models.ErrDashboardNotFound
}