Skip to content

Commit

Permalink
trying to fix the tests
Browse files Browse the repository at this point in the history
  • Loading branch information
zserge committed Apr 27, 2024
1 parent 20c5c97 commit 6a16c98
Show file tree
Hide file tree
Showing 3 changed files with 72 additions and 42 deletions.
41 changes: 41 additions & 0 deletions pkg/infra/log/logtest/slog.go
@@ -0,0 +1,41 @@
package logtest

import (
"context"
"log/slog"
"strings"
"testing"
)

type NopHandler struct{}

func NewNopHandler(t *testing.T) *NopHandler {
return &NopHandler{}
}
func (h *NopHandler) Enabled(_ context.Context, _ slog.Level) bool { return false }
func (h *NopHandler) WithAttrs(_ []slog.Attr) slog.Handler { return h }
func (h *NopHandler) WithGroup(_ string) slog.Handler { return h }
func (h *NopHandler) Handle(_ context.Context, r slog.Record) error { return nil }

type TestHandler struct {
t *testing.T
}

func NewTestHandler(t *testing.T) *TestHandler {
return &TestHandler{t: t}
}

func (th *TestHandler) Enabled(_ context.Context, _ slog.Level) bool { return true }
func (th *TestHandler) WithAttrs(_ []slog.Attr) slog.Handler { return th }
func (th *TestHandler) WithGroup(_ string) slog.Handler { return th }
func (th *TestHandler) Handle(ctx context.Context, r slog.Record) error {
th.t.Helper()
buf := &strings.Builder{}
h := slog.NewTextHandler(buf, nil)
err := h.Handle(ctx, r)
if err != nil {
return err
}
th.t.Log(buf.String())
return nil
}
57 changes: 23 additions & 34 deletions pkg/services/folder/folderimpl/folder_test.go
Expand Up @@ -5,6 +5,7 @@ import (
"encoding/json"
"errors"
"fmt"
"log/slog"
"math/rand"
"strings"
"testing"
Expand All @@ -20,6 +21,7 @@ import (
"github.com/grafana/grafana/pkg/infra/db"
"github.com/grafana/grafana/pkg/infra/db/dbtest"
"github.com/grafana/grafana/pkg/infra/log"
"github.com/grafana/grafana/pkg/infra/log/logtest"
"github.com/grafana/grafana/pkg/infra/tracing"
"github.com/grafana/grafana/pkg/services/accesscontrol"
"github.com/grafana/grafana/pkg/services/accesscontrol/acimpl"
Expand Down Expand Up @@ -56,10 +58,9 @@ func TestIntegrationProvideFolderService(t *testing.T) {
t.Skip("skipping integration test")
}
t.Run("should register scope resolvers", func(t *testing.T) {
cfg := setting.NewCfg()
ac := acmock.New()
db := db.InitTestDB(t)
ProvideService(ac, bus.ProvideBus(tracing.InitializeTracerForTest()), cfg, nil, nil, db, featuremgmt.WithFeatures(), supportbundlestest.NewFakeBundleService(), nil)
ProvideService(ac, bus.ProvideBus(tracing.InitializeTracerForTest()), nil, nil, db, featuremgmt.WithFeatures(), supportbundlestest.NewFakeBundleService(), nil, logtest.NewTestHandler(t))

require.Len(t, ac.Calls.RegisterAttributeScopeResolver, 3)
})
Expand All @@ -72,7 +73,7 @@ func TestIntegrationFolderService(t *testing.T) {
t.Run("Folder service tests", func(t *testing.T) {
dashStore := &dashboards.FakeDashboardStore{}
db, cfg := sqlstore.InitTestDB(t)
nestedFolderStore := ProvideStore(db, cfg)
nestedFolderStore := ProvideStore(db)

folderStore := foldertest.NewFakeFolderStore(t)

Expand All @@ -89,8 +90,7 @@ func TestIntegrationFolderService(t *testing.T) {
}

service := &Service{
cfg: cfg,
glog: log.New("test-folder-service"),
log: slog.New(logtest.NewTestHandler(t)).With("logger", "test-folder-service"),
dashboardStore: dashStore,
dashboardFolderStore: folderStore,
store: nestedFolderStore,
Expand Down Expand Up @@ -360,14 +360,13 @@ func TestIntegrationNestedFolderService(t *testing.T) {
featuresFlagOn := featuremgmt.WithFeatures("nestedFolders")
dashStore, err := database.ProvideDashboardStore(db, cfg, featuresFlagOn, tagimpl.ProvideService(db), quotaService)
require.NoError(t, err)
nestedFolderStore := ProvideStore(db, cfg)
nestedFolderStore := ProvideStore(db)

b := bus.ProvideBus(tracing.InitializeTracerForTest())
ac := acimpl.ProvideAccessControl(cfg)

serviceWithFlagOn := &Service{
cfg: cfg,
glog: log.New("test-folder-service"),
log: slog.New(logtest.NewTestHandler(t)).With("logger", "test-folder-service"),
dashboardStore: dashStore,
dashboardFolderStore: folderStore,
store: nestedFolderStore,
Expand Down Expand Up @@ -478,11 +477,10 @@ func TestIntegrationNestedFolderService(t *testing.T) {
featuresFlagOff := featuremgmt.WithFeatures()
dashStore, err := database.ProvideDashboardStore(db, cfg, featuresFlagOff, tagimpl.ProvideService(db), quotaService)
require.NoError(t, err)
nestedFolderStore := ProvideStore(db, cfg)
nestedFolderStore := ProvideStore(db)

serviceWithFlagOff := &Service{
cfg: cfg,
glog: log.New("test-folder-service"),
log: slog.New(logtest.NewTestHandler(t)).With("logger", "test-folder-service"),
dashboardStore: dashStore,
dashboardFolderStore: folderStore,
store: nestedFolderStore,
Expand Down Expand Up @@ -561,8 +559,7 @@ func TestIntegrationNestedFolderService(t *testing.T) {
t.Run("Should delete folders", func(t *testing.T) {
featuresFlagOff := featuremgmt.WithFeatures()
serviceWithFlagOff := &Service{
cfg: cfg,
glog: log.New("test-folder-service"),
log: slog.New(logtest.NewTestHandler(t)).With("logger", "test-folder-service"),
dashboardFolderStore: folderStore,
features: featuresFlagOff,
bus: b,
Expand Down Expand Up @@ -643,7 +640,7 @@ func TestIntegrationNestedFolderService(t *testing.T) {

dashStore, err := database.ProvideDashboardStore(db, cfg, tc.featuresFlag, tagimpl.ProvideService(db), quotaService)
require.NoError(t, err)
nestedFolderStore := ProvideStore(db, cfg)
nestedFolderStore := ProvideStore(db)
tc.service.dashboardStore = dashStore
tc.service.store = nestedFolderStore

Expand Down Expand Up @@ -736,13 +733,12 @@ func TestNestedFolderServiceFeatureToggle(t *testing.T) {

db, cfg := sqlstore.InitTestDB(t)
folderService := &Service{
cfg: cfg,
store: nestedFolderStore,
log: slog.New(logtest.NewTestHandler(t)).With("logger", "test-folder-service"),
db: db,
dashboardStore: &dashStore,
dashboardFolderStore: dashboardFolderStore,
features: featuremgmt.WithFeatures(featuremgmt.FlagNestedFolders),
glog: log.New("test-folder-service"),
accessControl: acimpl.ProvideAccessControl(cfg),
metrics: newFoldersMetrics(nil),
}
Expand All @@ -765,21 +761,20 @@ func TestFolderServiceDualWrite(t *testing.T) {
db, _ := sqlstore.InitTestDB(t)
cfg := setting.NewCfg()
features := featuremgmt.WithFeatures()
nestedFolderStore := ProvideStore(db, cfg)
nestedFolderStore := ProvideStore(db)

dashStore, err := database.ProvideDashboardStore(db, cfg, features, tagimpl.ProvideService(db), &quotatest.FakeQuotaService{})
require.NoError(t, err)

dashboardFolderStore := ProvideDashboardFolderStore(db)

folderService := &Service{
cfg: setting.NewCfg(),
store: nestedFolderStore,
log: slog.New(logtest.NewTestHandler(t)).With("logger", "test-folder-service"),
db: db,
dashboardStore: dashStore,
dashboardFolderStore: dashboardFolderStore,
features: featuremgmt.WithFeatures(featuremgmt.FlagNestedFolders),
glog: log.New("test-folder-service"),
accessControl: acimpl.ProvideAccessControl(cfg),
metrics: newFoldersMetrics(nil),
bus: bus.ProvideBus(tracing.InitializeTracerForTest()),
Expand Down Expand Up @@ -1288,14 +1283,13 @@ func TestIntegrationNestedFolderSharedWithMe(t *testing.T) {
featuresFlagOn := featuremgmt.WithFeatures("nestedFolders")
dashStore, err := database.ProvideDashboardStore(db, cfg, featuresFlagOn, tagimpl.ProvideService(db), quotaService)
require.NoError(t, err)
nestedFolderStore := ProvideStore(db, cfg)
nestedFolderStore := ProvideStore(db)

b := bus.ProvideBus(tracing.InitializeTracerForTest())
ac := acimpl.ProvideAccessControl(cfg)

serviceWithFlagOn := &Service{
cfg: cfg,
glog: log.New("test-folder-service"),
log: slog.New(logtest.NewTestHandler(t)).With("logger", "test-folder-service"),
dashboardStore: dashStore,
dashboardFolderStore: folderStore,
store: nestedFolderStore,
Expand Down Expand Up @@ -1657,14 +1651,13 @@ func TestFolderServiceGetFolder(t *testing.T) {
featuresFlagOff := featuremgmt.WithFeatures()
dashStore, err := database.ProvideDashboardStore(db, cfg, featuresFlagOff, tagimpl.ProvideService(db), quotaService)
require.NoError(t, err)
nestedFolderStore := ProvideStore(db, cfg)
nestedFolderStore := ProvideStore(db)

b := bus.ProvideBus(tracing.InitializeTracerForTest())
ac := acimpl.ProvideAccessControl(cfg)

return Service{
cfg: cfg,
glog: log.New("test-folder-service"),
log: slog.New(logtest.NewTestHandler(t)).With("logger", "test-folder-service"),
dashboardStore: dashStore,
dashboardFolderStore: folderStore,
store: nestedFolderStore,
Expand Down Expand Up @@ -1740,14 +1733,13 @@ func TestFolderServiceGetFolders(t *testing.T) {
featuresFlagOff := featuremgmt.WithFeatures()
dashStore, err := database.ProvideDashboardStore(db, cfg, featuresFlagOff, tagimpl.ProvideService(db), quotaService)
require.NoError(t, err)
nestedFolderStore := ProvideStore(db, cfg)
nestedFolderStore := ProvideStore(db)

b := bus.ProvideBus(tracing.InitializeTracerForTest())
ac := acimpl.ProvideAccessControl(cfg)

serviceWithFlagOff := &Service{
cfg: cfg,
glog: log.New("test-folder-service"),
log: slog.New(logtest.NewTestHandler(t)).With("logger", "test-folder-service"),
dashboardStore: dashStore,
dashboardFolderStore: folderStore,
store: nestedFolderStore,
Expand Down Expand Up @@ -1825,16 +1817,15 @@ func TestGetChildrenFilterByPermission(t *testing.T) {
featuresFlagOff := featuremgmt.WithFeatures()
dashStore, err := database.ProvideDashboardStore(db, cfg, featuresFlagOff, tagimpl.ProvideService(db), quotaService)
require.NoError(t, err)
nestedFolderStore := ProvideStore(db, cfg)
nestedFolderStore := ProvideStore(db)

b := bus.ProvideBus(tracing.InitializeTracerForTest())
ac := acimpl.ProvideAccessControl(cfg)

features := featuremgmt.WithFeatures(featuremgmt.FlagNestedFolders)

folderSvcOn := &Service{
cfg: cfg,
glog: log.New("test-folder-service"),
log: slog.New(logtest.NewTestHandler(t)).With("logger", "test-folder-service"),
dashboardStore: dashStore,
dashboardFolderStore: folderStore,
store: nestedFolderStore,
Expand Down Expand Up @@ -2135,10 +2126,8 @@ func setup(t *testing.T, dashStore dashboards.Store, dashboardFolderStore folder
t.Helper()

// nothing enabled yet
cfg := setting.NewCfg()
return &Service{
cfg: cfg,
glog: log.New("test-folder-service"),
log: slog.New(logtest.NewTestHandler(t)).With("logger", "test-folder-service"),
dashboardStore: dashStore,
dashboardFolderStore: dashboardFolderStore,
store: nestedFolderStore,
Expand Down
16 changes: 8 additions & 8 deletions pkg/services/folder/folderimpl/sqlstore_test.go
Expand Up @@ -32,7 +32,7 @@ func TestIntegrationCreate(t *testing.T) {
}

db, cfg := sqlstore.InitTestDB(t)
folderStore := ProvideStore(db, cfg)
folderStore := ProvideStore(db)

orgID := CreateOrg(t, db, cfg)

Expand Down Expand Up @@ -152,7 +152,7 @@ func TestIntegrationDelete(t *testing.T) {
}

db, cfg := sqlstore.InitTestDB(t)
folderStore := ProvideStore(db, cfg)
folderStore := ProvideStore(db)

orgID := CreateOrg(t, db, cfg)

Expand Down Expand Up @@ -199,7 +199,7 @@ func TestIntegrationUpdate(t *testing.T) {
}

db, cfg := sqlstore.InitTestDB(t)
folderStore := ProvideStore(db, cfg)
folderStore := ProvideStore(db)

orgID := CreateOrg(t, db, cfg)

Expand Down Expand Up @@ -374,7 +374,7 @@ func TestIntegrationGet(t *testing.T) {
}

db, cfg := sqlstore.InitTestDB(t)
folderStore := ProvideStore(db, cfg)
folderStore := ProvideStore(db)

orgID := CreateOrg(t, db, cfg)

Expand Down Expand Up @@ -491,7 +491,7 @@ func TestIntegrationGetParents(t *testing.T) {
}

db, cfg := sqlstore.InitTestDB(t)
folderStore := ProvideStore(db, cfg)
folderStore := ProvideStore(db)

orgID := CreateOrg(t, db, cfg)

Expand Down Expand Up @@ -559,7 +559,7 @@ func TestIntegrationGetChildren(t *testing.T) {
}

db, cfg := sqlstore.InitTestDB(t)
folderStore := ProvideStore(db, cfg)
folderStore := ProvideStore(db)

orgID := CreateOrg(t, db, cfg)

Expand Down Expand Up @@ -739,7 +739,7 @@ func TestIntegrationGetHeight(t *testing.T) {
}

db, cfg := sqlstore.InitTestDB(t)
folderStore := ProvideStore(db, cfg)
folderStore := ProvideStore(db)

orgID := CreateOrg(t, db, cfg)

Expand Down Expand Up @@ -772,7 +772,7 @@ func TestIntegrationGetFolders(t *testing.T) {

foldersNum := 10
db, cfg := sqlstore.InitTestDB(t)
folderStore := ProvideStore(db, cfg)
folderStore := ProvideStore(db)

orgID := CreateOrg(t, db, cfg)

Expand Down

0 comments on commit 6a16c98

Please sign in to comment.