* WIP: mutator added, start working on validator * first validator iteration * second validator iteration * wip: working on integration tests * re-working mutation and validation, using Connection interface * fixing some rebase things * fixing integration tests * formatting * fixing unit tests * k8s codegen * linting * moving tests which are available only for enterprise * addressing comments: using repo config for connections, updating tests * addressing comments: adding some more info in the app and installation * fixing app data * addressing comments: updating connection implementation * addressing comments * formatting * fixing tests
82 lines
2.8 KiB
Go
82 lines
2.8 KiB
Go
package server
|
|
|
|
import (
|
|
"github.com/stretchr/testify/mock"
|
|
|
|
githubconnection "github.com/grafana/grafana/apps/provisioning/pkg/connection/github"
|
|
"github.com/grafana/grafana/apps/provisioning/pkg/repository/github"
|
|
"github.com/grafana/grafana/apps/secret/pkg/decrypt"
|
|
"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/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"
|
|
)
|
|
|
|
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,
|
|
githubRepoFactory *github.Factory,
|
|
githubConnectionFactory githubconnection.GithubFactory,
|
|
decryptService decrypt.DecryptService,
|
|
) (*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,
|
|
GithubRepoFactory: githubRepoFactory,
|
|
GithubConnectionFactory: githubConnectionFactory,
|
|
DecryptService: decryptService,
|
|
}, 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
|
|
GithubRepoFactory *github.Factory
|
|
GithubConnectionFactory githubconnection.GithubFactory
|
|
DecryptService decrypt.DecryptService
|
|
}
|