|
|
|
@ -11,6 +11,7 @@ import ( |
|
|
|
|
"github.com/grafana/grafana/pkg/infra/log" |
|
|
|
|
"github.com/grafana/grafana/pkg/services/org" |
|
|
|
|
"github.com/grafana/grafana/pkg/services/org/orgtest" |
|
|
|
|
"github.com/grafana/grafana/pkg/services/provisioning/utils" |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
var ( |
|
|
|
@ -25,10 +26,11 @@ func TestDashboardsAsConfig(t *testing.T) { |
|
|
|
|
logger := log.New("test-logger") |
|
|
|
|
// store := db.InitTestDB(t)
|
|
|
|
|
orgFake := orgtest.NewOrgServiceFake() |
|
|
|
|
orgExists := utils.NewOrgExistsChecker(orgFake) |
|
|
|
|
|
|
|
|
|
t.Run("Should fail if orgs don't exist in the database", func(t *testing.T) { |
|
|
|
|
orgFake.ExpectedError = org.ErrOrgNotFound |
|
|
|
|
cfgProvider := configReader{path: appliedDefaults, log: logger, orgService: orgFake} |
|
|
|
|
cfgProvider := configReader{path: appliedDefaults, log: logger, orgExists: orgExists} |
|
|
|
|
_, err := cfgProvider.readConfig(context.Background()) |
|
|
|
|
require.Error(t, err) |
|
|
|
|
assert.True(t, errors.Is(err, org.ErrOrgNotFound)) |
|
|
|
@ -36,7 +38,7 @@ func TestDashboardsAsConfig(t *testing.T) { |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
t.Run("default values should be applied", func(t *testing.T) { |
|
|
|
|
cfgProvider := configReader{path: appliedDefaults, log: logger, orgService: orgFake} |
|
|
|
|
cfgProvider := configReader{path: appliedDefaults, log: logger, orgExists: orgExists} |
|
|
|
|
cfg, err := cfgProvider.readConfig(context.Background()) |
|
|
|
|
require.NoError(t, err) |
|
|
|
|
|
|
|
|
@ -47,7 +49,7 @@ func TestDashboardsAsConfig(t *testing.T) { |
|
|
|
|
|
|
|
|
|
t.Run("Can read config file version 1 format", func(t *testing.T) { |
|
|
|
|
t.Setenv("TEST_VAR", "general") |
|
|
|
|
cfgProvider := configReader{path: simpleDashboardConfig, log: logger, orgService: orgFake} |
|
|
|
|
cfgProvider := configReader{path: simpleDashboardConfig, log: logger, orgExists: orgExists} |
|
|
|
|
cfg, err := cfgProvider.readConfig(context.Background()) |
|
|
|
|
require.NoError(t, err) |
|
|
|
|
|
|
|
|
@ -55,7 +57,7 @@ func TestDashboardsAsConfig(t *testing.T) { |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
t.Run("Can read config file in version 0 format", func(t *testing.T) { |
|
|
|
|
cfgProvider := configReader{path: oldVersion, log: logger, orgService: orgFake} |
|
|
|
|
cfgProvider := configReader{path: oldVersion, log: logger, orgExists: orgExists} |
|
|
|
|
cfg, err := cfgProvider.readConfig(context.Background()) |
|
|
|
|
require.NoError(t, err) |
|
|
|
|
|
|
|
|
@ -63,7 +65,7 @@ func TestDashboardsAsConfig(t *testing.T) { |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
t.Run("Should skip invalid path", func(t *testing.T) { |
|
|
|
|
cfgProvider := configReader{path: "/invalid-directory", log: logger, orgService: orgFake} |
|
|
|
|
cfgProvider := configReader{path: "/invalid-directory", log: logger, orgExists: orgExists} |
|
|
|
|
cfg, err := cfgProvider.readConfig(context.Background()) |
|
|
|
|
if err != nil { |
|
|
|
|
t.Fatalf("readConfig return an error %v", err) |
|
|
|
@ -73,7 +75,7 @@ func TestDashboardsAsConfig(t *testing.T) { |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
t.Run("Should skip broken config files", func(t *testing.T) { |
|
|
|
|
cfgProvider := configReader{path: brokenConfigs, log: logger, orgService: orgFake} |
|
|
|
|
cfgProvider := configReader{path: brokenConfigs, log: logger, orgExists: orgExists} |
|
|
|
|
cfg, err := cfgProvider.readConfig(context.Background()) |
|
|
|
|
if err != nil { |
|
|
|
|
t.Fatalf("readConfig return an error %v", err) |
|
|
|
|