Documentation ¶
Index ¶
- Constants
- func AssertUntil(until time.Duration, test testFn, error errorFn)
- func IsTravis() bool
- func SkipSlow(t testing.T)
- func TestMultiplier() int64
- func Timeout(original time.Duration) time.Duration
- func VaultVersion() (string, error)
- func WaitForLeader(t testing.T, rpc rpcFn)
- func WaitForResult(test testFn, error errorFn)
- func WaitForResultRetries(retries int64, test testFn, error errorFn)
- func WaitForRunning(t testing.T, rpc rpcFn, job *structs.Job)
- type ACLConfig
- type Advertise
- type ClientConfig
- type Consul
- type PortsConfig
- type ServerConfig
- type ServerConfigCallback
- type TestServer
- type TestServerConfig
- type TestVault
- type VaultConfig
Constants ¶
const ( // TravisRunEnv is an environment variable that is set if being run by // Travis. TravisRunEnv = "CI" )
Variables ¶
This section is empty.
Functions ¶
func AssertUntil ¶ added in v0.6.0
AssertUntil asserts the test function passes throughout the given duration. Otherwise error is called on failure.
func SkipSlow ¶ added in v0.8.0
SkipSlow skips a slow test unless the NOMAD_SLOW_TEST environment variable is set.
func TestMultiplier ¶ added in v0.3.0
func TestMultiplier() int64
TestMultiplier returns a multiplier for retries and waits given environment the tests are being run under.
func Timeout ¶ added in v0.8.0
Timeout takes the desired timeout and increases it if running in Travis
func VaultVersion ¶ added in v0.5.3
VaultVersion returns the Vault version as a string or an error if it couldn't be determined
func WaitForLeader ¶
func WaitForLeader(t testing.T, rpc rpcFn)
WaitForLeader blocks until a leader is elected.
func WaitForResult ¶
func WaitForResult(test testFn, error errorFn)
func WaitForResultRetries ¶ added in v0.3.0
func WaitForResultRetries(retries int64, test testFn, error errorFn)
func WaitForRunning ¶ added in v0.8.5
WaitForRunning runs a job and blocks until it is running.
Types ¶
type ACLConfig ¶ added in v0.7.0
type ACLConfig struct {
Enabled bool `json:"enabled"`
}
ACLConfig is used to configure ACLs
type Advertise ¶ added in v0.5.0
type Advertise struct { HTTP string `json:"http,omitempty"` RPC string `json:"rpc,omitempty"` Serf string `json:"serf,omitempty"` }
Advertise is used to configure the addresses to advertise
type ClientConfig ¶
type ClientConfig struct {
Enabled bool `json:"enabled"`
}
ClientConfig is used to configure the client
type Consul ¶ added in v0.8.0
type Consul struct { Address string `json:"address,omitempty"` Auth string `json:"auth,omitempty"` Token string `json:"token,omitempty"` }
Consul is used to configure the communication with Consul
type PortsConfig ¶
type PortsConfig struct { HTTP int `json:"http,omitempty"` RPC int `json:"rpc,omitempty"` Serf int `json:"serf,omitempty"` }
PortsConfig is used to configure the network ports we use.
type ServerConfig ¶
type ServerConfig struct { Enabled bool `json:"enabled"` BootstrapExpect int `json:"bootstrap_expect"` RaftProtocol int `json:"raft_protocol,omitempty"` }
ServerConfig is used to configure the nomad server.
type ServerConfigCallback ¶
type ServerConfigCallback func(c *TestServerConfig)
ServerConfigCallback is a function interface which can be passed to NewTestServerConfig to modify the server config.
type TestServer ¶
type TestServer struct { Config *TestServerConfig HTTPAddr string SerfAddr string HTTPClient *http.Client // contains filtered or unexported fields }
TestServer is the main server wrapper struct.
func NewTestServer ¶
func NewTestServer(t testing.T, cb ServerConfigCallback) *TestServer
NewTestServer creates a new TestServer, and makes a call to an optional callback function to modify the configuration.
func (*TestServer) Stop ¶
func (s *TestServer) Stop()
Stop stops the test Nomad server, and removes the Nomad data directory once we are done.
type TestServerConfig ¶
type TestServerConfig struct { NodeName string `json:"name,omitempty"` DataDir string `json:"data_dir,omitempty"` Region string `json:"region,omitempty"` DisableCheckpoint bool `json:"disable_update_check"` LogLevel string `json:"log_level,omitempty"` Consul *Consul `json:"consul,omitempty"` AdvertiseAddrs *Advertise `json:"advertise,omitempty"` Ports *PortsConfig `json:"ports,omitempty"` Server *ServerConfig `json:"server,omitempty"` Client *ClientConfig `json:"client,omitempty"` Vault *VaultConfig `json:"vault,omitempty"` ACL *ACLConfig `json:"acl,omitempty"` DevMode bool `json:"-"` Stdout, Stderr io.Writer `json:"-"` }
TestServerConfig is the main server configuration struct.
type TestVault ¶ added in v0.5.0
type TestVault struct { Addr string HTTPAddr string RootToken string Config *config.VaultConfig Client *vapi.Client // contains filtered or unexported fields }
TestVault wraps a test Vault server launched in dev mode, suitable for testing.
func NewTestVault ¶ added in v0.5.0
func NewTestVault(t testing.T) *TestVault
NewTestVault returns a new TestVault instance that has yet to be started
func NewTestVaultDelayed ¶ added in v0.6.0
func NewTestVaultDelayed(t testing.T) *TestVault
NewTestVaultDelayed returns a test Vault server that has not been started. Start must be called and it is the callers responsibility to deal with any port conflicts that may occur and retry accordingly.
type VaultConfig ¶ added in v0.5.0
type VaultConfig struct {
Enabled bool `json:"enabled"`
}
VaultConfig is used to configure Vault