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  }