vault/command/server_util.go
Vault Automation b2253c31ac
Fix reload tests (#9420) (#9766)
Re-enable some tests that were being skipped due to flakiness.  Fix flakiness stemming from not waiting until new license was applied.  Fix race in AOP code.

Co-authored-by: Nick Cabatoff <ncabatoff@hashicorp.com>
2025-10-01 19:37:03 +00:00

54 lines
1.2 KiB
Go

// Copyright (c) HashiCorp, Inc.
// SPDX-License-Identifier: BUSL-1.1
package command
import (
"testing"
"github.com/hashicorp/cli"
"github.com/hashicorp/vault/sdk/physical"
physInmem "github.com/hashicorp/vault/sdk/physical/inmem"
)
func TestServerCommand(tb testing.TB) (*cli.MockUi, *ServerCommand) {
tb.Helper()
return testServerCommand(tb)
}
func (c *ServerCommand) StartedCh() chan struct{} {
return c.startedCh
}
func (c *ServerCommand) ReloadedCh() chan struct{} {
return c.reloadedCh
}
func (c *ServerCommand) LicenseReloadedCh() chan error {
return c.licenseReloadedCh
}
func testServerCommand(tb testing.TB) (*cli.MockUi, *ServerCommand) {
tb.Helper()
ui := cli.NewMockUi()
return ui, &ServerCommand{
BaseCommand: &BaseCommand{
UI: ui,
},
ShutdownCh: MakeShutdownCh(),
SighupCh: MakeSighupCh(),
SigUSR2Ch: MakeSigUSR2Ch(),
PhysicalBackends: map[string]physical.Factory{
"inmem": physInmem.NewInmem,
"inmem_ha": physInmem.NewInmemHA,
"inmem_transactional": physInmem.NewTransactionalInmem,
},
// These prevent us from random sleep guessing...
startedCh: make(chan struct{}, 5),
reloadedCh: make(chan struct{}, 5),
licenseReloadedCh: make(chan error, 1),
}
}