Documentation
¶
Index ¶
Constants ¶
const TestEnvVar = "TF_ACC"
TestEnvVar must be set to a non-empty value for acceptance tests to run.
Variables ¶
This section is empty.
Functions ¶
func Test ¶
Test performs an acceptance test on a backend with the given test case.
Tests are not run unless an environmental variable "TF_ACC" is set to some non-empty value. This is to avoid test cases surprising a user by creating real resources.
Tests will fail unless the verbose flag (`go test -v`, or explicitly the "-test.v" flag) is set. Because some acceptance tests take quite long, we require the verbose flag so users are able to see progress output.
Types ¶
type TestCase ¶
type TestCase struct {
// Precheck, if non-nil, will be called once before the test case
// runs at all. This can be used for some validation prior to the
// test running.
PreCheck func()
// Backend is the backend that will be mounted.
Backend logical.Backend
// Factory can be used instead of Backend if the
// backend requires more construction
Factory logical.Factory
// Steps are the set of operations that are run for this test case.
Steps []TestStep
// Teardown will be called before the test case is over regardless
// of if the test succeeded or failed. This should return an error
// in the case that the test can't guarantee all resources were
// properly cleaned up.
Teardown TestTeardownFunc
}
TestCase is a single set of tests to run for a backend. A TestCase should generally map 1:1 to each test method for your acceptance tests.
type TestCheckFunc ¶
TestCheckFunc is the callback used for Check in TestStep.
func TestCheckAuth ¶
func TestCheckAuth(policies []string) TestCheckFunc
TestCheckAuth is a helper to check that a request generated an auth token with the proper policies.
func TestCheckAuthDisplayName ¶
func TestCheckAuthDisplayName(n string) TestCheckFunc
TestCheckAuthDisplayName is a helper to check that a request generated a valid display name.
func TestCheckError ¶
func TestCheckError() TestCheckFunc
TestCheckError is a helper to check that a response is an error.
func TestCheckMulti ¶
func TestCheckMulti(fs ...TestCheckFunc) TestCheckFunc
TestCheckMulti is a helper to have multiple checks.
type TestStep ¶
type TestStep struct {
// Operation is the operation to execute
Operation logical.Operation
// Path is the request path. The mount prefix will be automatically added.
Path string
// Arguments to pass in
Data map[string]interface{}
// Check is called after this step is executed in order to test that
// the step executed successfully. If this is not set, then the next
// step will be called
Check TestCheckFunc
// ErrorOk, if true, will let erroneous responses through to the check
ErrorOk bool
// Unauthenticated, if true, will make the request unauthenticated.
Unauthenticated bool
// RemoteAddr, if set, will set the remote addr on the request.
RemoteAddr string
// ConnState, if set, will set the tls conneciton state
ConnState *tls.ConnectionState
}
TestStep is a single step within a TestCase.
type TestT ¶
type TestT interface {
Error(args ...interface{})
Fatal(args ...interface{})
Skip(args ...interface{})
}
TestT is the interface used to handle the test lifecycle of a test.
Users should just use a *testing.T object, which implements this.
type TestTeardownFunc ¶
type TestTeardownFunc func() error
TestTeardownFunc is the callback used for Teardown in TestCase.