testutil

package
v0.5.1-rc1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 6, 2016 License: MPL-2.0 Imports: 15 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// TravisRunEnv is an environment variable that is set if being run by
	// Travis.
	TravisRunEnv = "CI"
)

Variables

This section is empty.

Functions

func IsTravis added in v0.3.0

func IsTravis() bool

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 WaitForLeader

func WaitForLeader(t *testing.T, rpc rpcFn)

func WaitForResult

func WaitForResult(test testFn, error errorFn)

func WaitForResultRetries added in v0.3.0

func WaitForResultRetries(retries int64, test testFn, error errorFn)

Types

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 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"`
}

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"`
	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"`
	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 (*TestVault) Start added in v0.5.0

func (tv *TestVault) Start() *TestVault

Start starts the test Vault server and waits for it to respond to its HTTP API

func (*TestVault) Stop added in v0.5.0

func (tv *TestVault) Stop()

Stop stops the test Vault server

type VaultConfig added in v0.5.0

type VaultConfig struct {
	Enabled bool `json:"enabled"`
}

VaultConfig is used to configure Vault

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL