Documentation ¶
Index ¶
- func AttemptUnsealCore(c *vault.TestCluster, core *vault.TestClusterCore) error
- func AttemptUnsealCores(c *vault.TestCluster) error
- func AwaitLeader(t testing.T, cluster *vault.TestCluster) (int, error)
- func CreateEntityAndAlias(t testing.T, client *api.Client, mountAccessor, entityName, aliasName string) (*api.Client, string, string)
- func DeriveActiveCore(t testing.T, cluster *vault.TestCluster) *vault.TestClusterCore
- func DeriveStableActiveCore(t testing.T, cluster *vault.TestCluster) *vault.TestClusterCore
- func DeriveStandbyCores(t testing.T, cluster *vault.TestCluster) []*vault.TestClusterCore
- func EnsureCoreSealed(t testing.T, core *vault.TestClusterCore)
- func EnsureCoreUnsealed(t testing.T, c *vault.TestCluster, core *vault.TestClusterCore)
- func EnsureCoresSealed(t testing.T, c *vault.TestCluster)
- func EnsureCoresUnsealed(t testing.T, c *vault.TestCluster)
- func EnsureStableActiveNode(t testing.T, cluster *vault.TestCluster)
- func GenerateDebugLogs(t testing.T, client *api.Client) chan struct{}
- func GenerateRoot(t testing.T, cluster *vault.TestCluster, kind GenerateRootKind) string
- func GenerateRootWithError(t testing.T, cluster *vault.TestCluster, kind GenerateRootKind) (string, error)
- func GetTOTPCodeFromEngine(t testing.T, client *api.Client, enginePath string) string
- func NewHardcodedServerAddressProvider(numCores, baseClusterPort int) raftlib.ServerAddressProvider
- func RaftAppliedIndex(core *vault.TestClusterCore) uint64
- func RaftClusterJoinNodes(t testing.T, cluster *vault.TestCluster)
- func RandomWithPrefix(name string) string
- func RegisterEntityInTOTPEngine(t testing.T, client *api.Client, entityID, methodID string) string
- func RekeyCluster(t testing.T, cluster *vault.TestCluster, recovery bool) [][]byte
- func RetryUntil(t testing.T, timeout time.Duration, f func() error)
- func RetryUntilAtCadence(t testing.T, timeout, sleepTime time.Duration, f func() error)
- func SealCores(t testing.T, cluster *vault.TestCluster)
- func SetNonRootToken(client *api.Client) error
- func SetupLoginMFATOTP(t testing.T, client *api.Client, methodName string, waitPeriod int) (*api.Client, string, string)
- func SetupMFALoginEnforcement(t testing.T, client *api.Client, config map[string]interface{})
- func SetupTOTPMethod(t testing.T, client *api.Client, config map[string]interface{}) string
- func SetupTOTPMount(t testing.T, client *api.Client)
- func SetupUserpassMountAccessor(t testing.T, client *api.Client) string
- func SkipUnlessEnvVarsSet(t testing.T, envVars []string)
- func TestMetricSinkProvider(gaugeInterval time.Duration) func(string) (*metricsutil.ClusterMetricSink, *metricsutil.MetricsHelper)
- func VerifyRaftConfiguration(core *vault.TestClusterCore, numCores int) error
- func VerifyRaftPeers(t testing.T, client *api.Client, expected map[string]bool) error
- func WaitForActiveNode(t testing.T, cluster *vault.TestCluster) *vault.TestClusterCore
- func WaitForActiveNodeAndStandbys(t testing.T, cluster *vault.TestCluster)
- func WaitForNCoresSealed(t testing.T, cluster *vault.TestCluster, n int)
- func WaitForNCoresUnsealed(t testing.T, cluster *vault.TestCluster, n int)
- func WaitForRaftApply(t testing.T, core *vault.TestClusterCore, index uint64)
- func WaitForStandbyNode(t testing.T, core *vault.TestClusterCore)
- type GenerateRootKind
- type HardcodedServerAddressProvider
- type SysMetricsJSON
- type TestRaftServerAddressProvider
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AttemptUnsealCore ¶ added in v1.3.0
func AttemptUnsealCore(c *vault.TestCluster, core *vault.TestClusterCore) error
func AttemptUnsealCores ¶ added in v1.3.0
func AttemptUnsealCores(c *vault.TestCluster) error
func AwaitLeader ¶ added in v1.5.0
func AwaitLeader(t testing.T, cluster *vault.TestCluster) (int, error)
AwaitLeader waits for one of the cluster's nodes to become leader.
func CreateEntityAndAlias ¶ added in v1.10.8
func CreateEntityAndAlias(t testing.T, client *api.Client, mountAccessor, entityName, aliasName string) (*api.Client, string, string)
CreateEntityAndAlias clones an existing client and creates an entity/alias. It returns the cloned client, entityID, and aliasID.
func DeriveActiveCore ¶ added in v0.11.2
func DeriveActiveCore(t testing.T, cluster *vault.TestCluster) *vault.TestClusterCore
func DeriveStableActiveCore ¶ added in v1.4.0
func DeriveStableActiveCore(t testing.T, cluster *vault.TestCluster) *vault.TestClusterCore
func DeriveStandbyCores ¶ added in v1.1.1
func DeriveStandbyCores(t testing.T, cluster *vault.TestCluster) []*vault.TestClusterCore
func EnsureCoreSealed ¶ added in v1.0.3
func EnsureCoreSealed(t testing.T, core *vault.TestClusterCore)
func EnsureCoreUnsealed ¶ added in v1.0.3
func EnsureCoreUnsealed(t testing.T, c *vault.TestCluster, core *vault.TestClusterCore)
func EnsureCoresSealed ¶ added in v1.0.3
func EnsureCoresSealed(t testing.T, c *vault.TestCluster)
func EnsureCoresUnsealed ¶ added in v0.11.2
func EnsureCoresUnsealed(t testing.T, c *vault.TestCluster)
func EnsureStableActiveNode ¶ added in v1.2.0
func EnsureStableActiveNode(t testing.T, cluster *vault.TestCluster)
func GenerateDebugLogs ¶ added in v1.5.0
func GenerateRoot ¶
func GenerateRoot(t testing.T, cluster *vault.TestCluster, kind GenerateRootKind) string
GenerateRoot generates a root token on the target cluster.
func GenerateRootWithError ¶
func GenerateRootWithError(t testing.T, cluster *vault.TestCluster, kind GenerateRootKind) (string, error)
func GetTOTPCodeFromEngine ¶ added in v1.10.8
GetTOTPCodeFromEngine requests a TOTP code from the specified enginePath.
func NewHardcodedServerAddressProvider ¶ added in v1.5.0
func NewHardcodedServerAddressProvider(numCores, baseClusterPort int) raftlib.ServerAddressProvider
NewHardcodedServerAddressProvider is a convenience function that makes a ServerAddressProvider from a given cluster address base port.
func RaftAppliedIndex ¶ added in v1.5.0
func RaftAppliedIndex(core *vault.TestClusterCore) uint64
func RaftClusterJoinNodes ¶ added in v1.2.0
func RaftClusterJoinNodes(t testing.T, cluster *vault.TestCluster)
func RandomWithPrefix ¶ added in v0.11.0
RandomWithPrefix is used to generate a unique name with a prefix, for randomizing names in acceptance tests
func RegisterEntityInTOTPEngine ¶ added in v1.10.8
RegisterEntityInTOTPEngine registers an entity with a methodID and returns the generated name.
func RekeyCluster ¶ added in v1.2.0
func RekeyCluster(t testing.T, cluster *vault.TestCluster, recovery bool) [][]byte
func RetryUntil ¶ added in v1.10.0
RetryUntil runs f until it returns a nil result or the timeout is reached. If a nil result hasn't been obtained by timeout, calls t.Fatal.
func RetryUntilAtCadence ¶ added in v1.13.0
RetryUntilAtCadence runs f until it returns a nil result or the timeout is reached. If a nil result hasn't been obtained by timeout, calls t.Fatal.
func SealCores ¶ added in v1.7.0
func SealCores(t testing.T, cluster *vault.TestCluster)
func SetNonRootToken ¶ added in v1.9.0
SetNonRootToken sets a token on :client: with a fairly generic policy. This is useful if a test needs to examine differing behavior based on if a root token is passed with the request.
func SetupLoginMFATOTP ¶ added in v1.10.8
func SetupLoginMFATOTP(t testing.T, client *api.Client, methodName string, waitPeriod int) (*api.Client, string, string)
SetupLoginMFATOTP setups up a TOTP MFA using some basic configuration and returns all relevant information to the client.
func SetupMFALoginEnforcement ¶ added in v1.10.8
SetupMFALoginEnforcement configures a single enforcement method using the provided config map. "name" field is required in the config map.
func SetupTOTPMethod ¶ added in v1.10.8
SetupTOTPMethod configures the TOTP secrets engine with a provided config map.
func SetupTOTPMount ¶ added in v1.10.8
SetupTOTPMount enables the totp secrets engine by mounting it. This requires that the test cluster has a totp backend available.
func SetupUserpassMountAccessor ¶ added in v1.10.8
SetupUserpassMountAccessor sets up userpass auth and returns its mount accessor. This requires that the test cluster has a "userpass" auth method available.
func SkipUnlessEnvVarsSet ¶ added in v1.13.0
func SkipUnlessEnvVarsSet(t testing.T, envVars []string)
func TestMetricSinkProvider ¶ added in v1.8.0
func TestMetricSinkProvider(gaugeInterval time.Duration) func(string) (*metricsutil.ClusterMetricSink, *metricsutil.MetricsHelper)
func VerifyRaftConfiguration ¶ added in v1.5.0
func VerifyRaftConfiguration(core *vault.TestClusterCore, numCores int) error
VerifyRaftConfiguration checks that we have a valid raft configuration, i.e. the correct number of servers, having the correct NodeIDs, and exactly one leader.
func VerifyRaftPeers ¶ added in v1.6.0
VerifyRaftPeers verifies that the raft configuration contains a given set of peers. The `expected` contains a map of expected peers. Existing entries are deleted from the map by removing entries whose keys are in the raft configuration. Remaining entries result in an error return so that the caller can poll for an expected configuration.
func WaitForActiveNode ¶ added in v1.1.0
func WaitForActiveNode(t testing.T, cluster *vault.TestCluster) *vault.TestClusterCore
func WaitForActiveNodeAndStandbys ¶ added in v1.5.1
func WaitForActiveNodeAndStandbys(t testing.T, cluster *vault.TestCluster)
WaitForActiveNodeAndStandbys does nothing more than wait for the active node on OSS. On enterprise it waits for perf standbys to be healthy too.
func WaitForNCoresSealed ¶ added in v0.11.2
func WaitForNCoresSealed(t testing.T, cluster *vault.TestCluster, n int)
func WaitForNCoresUnsealed ¶ added in v1.2.0
func WaitForNCoresUnsealed(t testing.T, cluster *vault.TestCluster, n int)
func WaitForRaftApply ¶ added in v1.5.0
func WaitForRaftApply(t testing.T, core *vault.TestClusterCore, index uint64)
func WaitForStandbyNode ¶ added in v1.4.0
func WaitForStandbyNode(t testing.T, core *vault.TestClusterCore)
Types ¶
type GenerateRootKind ¶ added in v1.3.0
type GenerateRootKind int
const ( GenerateRootRegular GenerateRootKind = iota GenerateRootDR GenerateRecovery )
type HardcodedServerAddressProvider ¶ added in v1.5.0
type HardcodedServerAddressProvider struct {
Entries map[raftlib.ServerID]raftlib.ServerAddress
}
HardcodedServerAddressProvider is a ServerAddressProvider that uses a hardcoded map of raft node addresses.
It is useful in cases where the raft configuration is known ahead of time, but some of the cores have not yet had startClusterListener() called (via either unsealing or raft joining), and thus do not yet have a ClusterAddr() assigned.
func (*HardcodedServerAddressProvider) ServerAddr ¶ added in v1.5.0
func (p *HardcodedServerAddressProvider) ServerAddr(id raftlib.ServerID) (raftlib.ServerAddress, error)
type SysMetricsJSON ¶ added in v1.8.0
type SysMetricsJSON struct { Gauges []gaugeJSON `json:"Gauges"` Counters []counterJSON `json:"Counters"` // note: this is referred to as a "Summary" type in our telemetry docs, but // the field name in the JSON is "Samples" Summaries []summaryJSON `json:"Samples"` }
func SysMetricsReq ¶ added in v1.8.0
func SysMetricsReq(client *api.Client, cluster *vault.TestCluster, unauth bool) (*SysMetricsJSON, error)
type TestRaftServerAddressProvider ¶ added in v1.2.0
type TestRaftServerAddressProvider struct {
Cluster *vault.TestCluster
}
TestRaftServerAddressProvider is a ServerAddressProvider that uses the ClusterAddr() of each node to provide raft addresses.
Note that TestRaftServerAddressProvider should only be used in cases where cores that are part of a raft configuration have already had startClusterListener() called (via either unsealing or raft joining).
func (*TestRaftServerAddressProvider) ServerAddr ¶ added in v1.2.0
func (p *TestRaftServerAddressProvider) ServerAddr(id raftlib.ServerID) (raftlib.ServerAddress, error)
Directories ¶
Path | Synopsis |
---|---|
Package corehelpers contains testhelpers that don't depend on package vault, and thus can be used within vault (as well as elsewhere.)
|
Package corehelpers contains testhelpers that don't depend on package vault, and thus can be used within vault (as well as elsewhere.) |
Package pluginhelpers contains testhelpers that don't depend on package vault, and thus can be used within vault (as well as elsewhere.)
|
Package pluginhelpers contains testhelpers that don't depend on package vault, and thus can be used within vault (as well as elsewhere.) |