chore: remove sqlstore & mockstore dependencies from (most) packages (#57087)

* chore: add alias for InitTestDB and Session

Adds an alias for the sqlstore InitTestDB and Session, and updates tests using these to reduce dependencies on the sqlstore.Store.

* next pass of removing sqlstore imports
* last little bit
* remove mockstore where possible
This commit is contained in:
Kristin Laemmert
2022-10-19 09:02:15 -04:00
committed by GitHub
parent 5285d34cc0
commit 05709ce411
273 changed files with 1595 additions and 1491 deletions
@@ -5,12 +5,11 @@ import (
"sync"
"time"
"github.com/grafana/grafana/pkg/infra/db"
"github.com/grafana/grafana/pkg/infra/log"
"github.com/grafana/grafana/pkg/models"
"github.com/grafana/grafana/pkg/services/pluginsettings"
"github.com/grafana/grafana/pkg/services/secrets"
"github.com/grafana/grafana/pkg/services/sqlstore"
"github.com/grafana/grafana/pkg/services/sqlstore/db"
)
func ProvideService(db db.DB, secretsService secrets.Service) *Service {
@@ -146,7 +145,7 @@ func (s *Service) getPluginSettingsInfo(ctx context.Context, orgID int64) ([]*mo
}
var rslt []*models.PluginSettingInfo
err := s.db.WithDbSession(ctx, func(sess *sqlstore.DBSession) error {
err := s.db.WithDbSession(ctx, func(sess *db.Session) error {
return sess.SQL(sql, params...).Find(&rslt)
})
if err != nil {
@@ -157,7 +156,7 @@ func (s *Service) getPluginSettingsInfo(ctx context.Context, orgID int64) ([]*mo
}
func (s *Service) getPluginSettingById(ctx context.Context, query *models.GetPluginSettingByIdQuery) error {
return s.db.WithDbSession(ctx, func(sess *sqlstore.DBSession) error {
return s.db.WithDbSession(ctx, func(sess *db.Session) error {
pluginSetting := models.PluginSetting{OrgId: query.OrgId, PluginId: query.PluginId}
has, err := sess.Get(&pluginSetting)
if err != nil {
@@ -171,7 +170,7 @@ func (s *Service) getPluginSettingById(ctx context.Context, query *models.GetPlu
}
func (s *Service) updatePluginSetting(ctx context.Context, cmd *models.UpdatePluginSettingCmd) error {
return s.db.WithTransactionalDbSession(ctx, func(sess *sqlstore.DBSession) error {
return s.db.WithTransactionalDbSession(ctx, func(sess *db.Session) error {
var pluginSetting models.PluginSetting
exists, err := sess.Where("org_id=? and plugin_id=?", cmd.OrgId, cmd.PluginId).Get(&pluginSetting)
@@ -229,7 +228,7 @@ func (s *Service) updatePluginSetting(ctx context.Context, cmd *models.UpdatePlu
}
func (s *Service) updatePluginSettingVersion(ctx context.Context, cmd *models.UpdatePluginSettingVersionCmd) error {
return s.db.WithTransactionalDbSession(ctx, func(sess *sqlstore.DBSession) error {
return s.db.WithTransactionalDbSession(ctx, func(sess *db.Session) error {
_, err := sess.Exec("UPDATE plugin_setting SET plugin_version=? WHERE org_id=? AND plugin_id=?", cmd.PluginVersion, cmd.OrgId, cmd.PluginId)
return err
})
@@ -5,14 +5,14 @@ import (
"testing"
"time"
"github.com/stretchr/testify/require"
"github.com/grafana/grafana/pkg/infra/db"
"github.com/grafana/grafana/pkg/models"
"github.com/grafana/grafana/pkg/services/pluginsettings"
"github.com/grafana/grafana/pkg/services/secrets"
"github.com/grafana/grafana/pkg/services/secrets/fakes"
secretsManager "github.com/grafana/grafana/pkg/services/secrets/manager"
"github.com/grafana/grafana/pkg/services/sqlstore"
"github.com/stretchr/testify/require"
)
func TestService_DecryptedValuesCache(t *testing.T) {
@@ -98,9 +98,9 @@ func TestIntegrationPluginSettings(t *testing.T) {
if testing.Short() {
t.Skip("skipping integration test")
}
db := sqlstore.InitTestDB(t)
store := db.InitTestDB(t)
secretsService := secretsManager.SetupTestService(t, fakes.NewFakeSecretsStore())
psService := ProvideService(db, secretsService)
psService := ProvideService(store, secretsService)
t.Run("Existing plugin settings", func(t *testing.T) {
secureJsonData, err := secretsService.EncryptJsonData(context.Background(), map[string]string{"secureKey": "secureValue"}, secrets.WithoutScope())
@@ -120,7 +120,7 @@ func TestIntegrationPluginSettings(t *testing.T) {
Updated: time.Now(),
}
err = db.WithTransactionalDbSession(context.Background(), func(sess *sqlstore.DBSession) error {
err = store.WithTransactionalDbSession(context.Background(), func(sess *db.Session) error {
affectedRows, innerErr := sess.Insert(&existing)
require.Equal(t, int64(1), affectedRows)
return innerErr
@@ -168,7 +168,7 @@ func TestIntegrationPluginSettings(t *testing.T) {
t.Run("UpdatePluginSetting should update existing plugin settings and publish PluginStateChangedEvent", func(t *testing.T) {
var pluginStateChangedEvent *models.PluginStateChangedEvent
db.Bus().AddEventListener(func(_ context.Context, evt *models.PluginStateChangedEvent) error {
store.Bus().AddEventListener(func(_ context.Context, evt *models.PluginStateChangedEvent) error {
pluginStateChangedEvent = evt
return nil
})
@@ -226,7 +226,7 @@ func TestIntegrationPluginSettings(t *testing.T) {
t.Run("Non-existing plugin settings", func(t *testing.T) {
t.Run("UpdatePluginSetting should insert plugin settings and publish PluginStateChangedEvent", func(t *testing.T) {
var pluginStateChangedEvent *models.PluginStateChangedEvent
db.Bus().AddEventListener(func(_ context.Context, evt *models.PluginStateChangedEvent) error {
store.Bus().AddEventListener(func(_ context.Context, evt *models.PluginStateChangedEvent) error {
pluginStateChangedEvent = evt
return nil
})