github.com/juju/juju@v0.0.0-20240430160146-1752b71fcf00/apiserver/facades/controller/usersecretsdrain/package_test.go (about) 1 // Copyright 2023 Canonical Ltd. 2 // Licensed under the AGPLv3, see LICENCE file for details. 3 4 package usersecretsdrain 5 6 import ( 7 "testing" 8 9 gc "gopkg.in/check.v1" 10 11 commonsecrets "github.com/juju/juju/apiserver/common/secrets" 12 apiservererrors "github.com/juju/juju/apiserver/errors" 13 "github.com/juju/juju/apiserver/facade" 14 ) 15 16 //go:generate go run go.uber.org/mock/mockgen -package mocks -destination mocks/state_mock.go github.com/juju/juju/apiserver/facades/controller/usersecretsdrain SecretsState 17 18 func TestPackage(t *testing.T) { 19 gc.TestingT(t) 20 } 21 22 var NewUserSecretsDrainAPI = newUserSecretsDrainAPI 23 24 func NewTestAPI( 25 authorizer facade.Authorizer, 26 secretsState SecretsState, 27 backendConfigGetter commonsecrets.BackendConfigGetter, 28 drainConfigGetter commonsecrets.BackendDrainConfigGetter, 29 ) (*SecretsDrainAPI, error) { 30 if !authorizer.AuthController() { 31 return nil, apiservererrors.ErrPerm 32 } 33 return &SecretsDrainAPI{ 34 secretsState: secretsState, 35 backendConfigGetter: backendConfigGetter, 36 drainConfigGetter: drainConfigGetter, 37 }, nil 38 }