github.com/juju/juju@v0.0.0-20240430160146-1752b71fcf00/apiserver/facades/client/secretbackends/package_test.go (about) 1 // Copyright 2022 Canonical Ltd. 2 // Licensed under the AGPLv3, see LICENCE file for details. 3 4 package secretbackends 5 6 import ( 7 "testing" 8 9 "github.com/juju/clock" 10 gc "gopkg.in/check.v1" 11 12 apiservererrors "github.com/juju/juju/apiserver/errors" 13 "github.com/juju/juju/apiserver/facade" 14 coretesting "github.com/juju/juju/testing" 15 ) 16 17 //go:generate go run go.uber.org/mock/mockgen -package mocks -destination mocks/secretsbackendstate.go github.com/juju/juju/apiserver/facades/client/secretbackends SecretsBackendState 18 //go:generate go run go.uber.org/mock/mockgen -package mocks -destination mocks/secretstate.go github.com/juju/juju/apiserver/facades/client/secretbackends SecretsState 19 //go:generate go run go.uber.org/mock/mockgen -package mocks -destination mocks/state.go github.com/juju/juju/apiserver/facades/client/secretbackends StatePool 20 //go:generate go run go.uber.org/mock/mockgen -package mocks -destination mocks/provider_mock.go github.com/juju/juju/secrets/provider SecretBackendProvider,SecretsBackend 21 func TestPackage(t *testing.T) { 22 gc.TestingT(t) 23 } 24 25 func NewTestAPI( 26 backendState SecretsBackendState, 27 secretState SecretsState, 28 statePool StatePool, 29 authorizer facade.Authorizer, 30 clock clock.Clock, 31 ) (*SecretBackendsAPI, error) { 32 if !authorizer.AuthClient() { 33 return nil, apiservererrors.ErrPerm 34 } 35 36 return &SecretBackendsAPI{ 37 clock: clock, 38 authorizer: authorizer, 39 controllerUUID: coretesting.ControllerTag.Id(), 40 statePool: statePool, 41 backendState: backendState, 42 secretState: secretState, 43 }, nil 44 }