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  }