mirror of
https://github.com/grafana/grafana.git
synced 2025-07-28 21:22:19 +08:00

- Provisioning: Begin using secrets store - Refactor integration with secrets store - Add back the legacy service - Separate concerns for encrypt and decrypt - Handle update within Encrypt function - Add interface for secure value service - Add feature flag for using secrets service - Add the dual service for temporary solution. * Add first integration tests for encrypted tokens * Add integration test for app platform secrets * Validate it has the name or not * Create wire provider * Always save to the secret if provided secret --------- Co-authored-by: Roberto Jimenez Sanchez <roberto.jimenez@grafana.com> Co-authored-by: Roberto Jiménez Sánchez <jszroberto@gmail.com>
77 lines
2.4 KiB
Go
77 lines
2.4 KiB
Go
package server
|
|
|
|
import (
|
|
"github.com/grafana/grafana/pkg/infra/db"
|
|
"github.com/grafana/grafana/pkg/infra/httpclient"
|
|
"github.com/grafana/grafana/pkg/plugins/manager/registry"
|
|
"github.com/grafana/grafana/pkg/registry/apis/provisioning/repository/github"
|
|
"github.com/grafana/grafana/pkg/registry/apis/provisioning/secrets"
|
|
"github.com/grafana/grafana/pkg/services/auth"
|
|
"github.com/grafana/grafana/pkg/services/featuremgmt"
|
|
"github.com/grafana/grafana/pkg/services/grpcserver"
|
|
"github.com/grafana/grafana/pkg/services/notifications"
|
|
"github.com/grafana/grafana/pkg/services/oauthtoken/oauthtokentest"
|
|
"github.com/grafana/grafana/pkg/setting"
|
|
"github.com/grafana/grafana/pkg/storage/unified/resource"
|
|
"github.com/grafana/grafana/pkg/web"
|
|
"github.com/stretchr/testify/mock"
|
|
)
|
|
|
|
func ProvideTestEnv(
|
|
testingT interface {
|
|
mock.TestingT
|
|
Cleanup(func())
|
|
},
|
|
server *Server,
|
|
db db.DB,
|
|
cfg *setting.Cfg,
|
|
ns *notifications.NotificationServiceMock,
|
|
grpcServer grpcserver.Provider,
|
|
pluginRegistry registry.Service,
|
|
httpClientProvider httpclient.Provider,
|
|
oAuthTokenService *oauthtokentest.Service,
|
|
featureMgmt featuremgmt.FeatureToggles,
|
|
resourceClient resource.ResourceClient,
|
|
idService auth.IDService,
|
|
githubFactory *github.Factory,
|
|
repositorySecrets secrets.RepositorySecrets,
|
|
) (*TestEnv, error) {
|
|
return &TestEnv{
|
|
TestingT: testingT,
|
|
Server: server,
|
|
SQLStore: db,
|
|
Cfg: cfg,
|
|
NotificationService: ns,
|
|
GRPCServer: grpcServer,
|
|
PluginRegistry: pluginRegistry,
|
|
HTTPClientProvider: httpClientProvider,
|
|
OAuthTokenService: oAuthTokenService,
|
|
FeatureToggles: featureMgmt,
|
|
ResourceClient: resourceClient,
|
|
IDService: idService,
|
|
GitHubFactory: githubFactory,
|
|
RepositorySecrets: repositorySecrets,
|
|
}, nil
|
|
}
|
|
|
|
type TestEnv struct {
|
|
TestingT interface {
|
|
mock.TestingT
|
|
Cleanup(func())
|
|
}
|
|
Server *Server
|
|
SQLStore db.DB
|
|
Cfg *setting.Cfg
|
|
NotificationService *notifications.NotificationServiceMock
|
|
GRPCServer grpcserver.Provider
|
|
PluginRegistry registry.Service
|
|
HTTPClientProvider httpclient.Provider
|
|
OAuthTokenService *oauthtokentest.Service
|
|
RequestMiddleware web.Middleware
|
|
FeatureToggles featuremgmt.FeatureToggles
|
|
ResourceClient resource.ResourceClient
|
|
IDService auth.IDService
|
|
GitHubFactory *github.Factory
|
|
RepositorySecrets secrets.RepositorySecrets
|
|
}
|