github.com/juju/juju@v0.0.0-20240430160146-1752b71fcf00/apiserver/facades/controller/usersecrets/package_test.go (about) 1 // Copyright 2023 Canonical Ltd. 2 // Licensed under the AGPLv3, see LICENCE file for details. 3 4 package usersecrets 5 6 import ( 7 "testing" 8 9 "github.com/juju/names/v5" 10 gc "gopkg.in/check.v1" 11 12 apiservererrors "github.com/juju/juju/apiserver/errors" 13 "github.com/juju/juju/apiserver/facade" 14 "github.com/juju/juju/secrets/provider" 15 ) 16 17 //go:generate go run go.uber.org/mock/mockgen -package mocks -destination mocks/state.go github.com/juju/juju/apiserver/facades/controller/usersecrets SecretsState 18 //go:generate go run go.uber.org/mock/mockgen -package mocks -destination mocks/watcher.go github.com/juju/juju/state StringsWatcher 19 //go:generate go run go.uber.org/mock/mockgen -package mocks -destination mocks/secretsbackend.go github.com/juju/juju/secrets/provider SecretsBackend,SecretBackendProvider 20 21 func TestPackage(t *testing.T) { 22 gc.TestingT(t) 23 } 24 25 func NewTestAPI( 26 authorizer facade.Authorizer, 27 resources facade.Resources, 28 authTag names.Tag, 29 controllerUUID string, 30 modelUUID string, 31 secretsState SecretsState, 32 backendConfigGetter func() (*provider.ModelBackendConfigInfo, error), 33 ) (*UserSecretsManager, error) { 34 if !authorizer.AuthController() { 35 return nil, apiservererrors.ErrPerm 36 } 37 return &UserSecretsManager{ 38 authorizer: authorizer, 39 resources: resources, 40 authTag: authTag, 41 controllerUUID: controllerUUID, 42 modelUUID: modelUUID, 43 secretsState: secretsState, 44 backendConfigGetter: backendConfigGetter, 45 }, nil 46 }