testutils

package
v8.1.0 Latest Latest
Warning

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

Go to latest
Published: Aug 6, 2025 License: MPL-2.0 Imports: 14 Imported by: 0

Documentation

Overview

Package testutils gathers reusable pieces useful for testing

Index

Constants

View Source
const (
	//Once is used as clear representation, when mock is called 1 times
	Once = 1
	//Twice is used as clear representation, when mock is called 2 times
	Twice = 2
	//ThreeTimes is used as clear representation, when mock is called 3 times
	ThreeTimes = 3
	//FourTimes is used as clear representation, when mock is called 4 times
	FourTimes = 4
	//FiveTimes is used as clear representation, when mock is called 5 times
	FiveTimes = 5
)
View Source
const MockContext = mock.Anything

MockContext is used to mock any context in requests as they are not needed for testing purposes

Variables

This section is empty.

Functions

func LoadFixtureBytes

func LoadFixtureBytes(t *testing.T, path string) []byte

LoadFixtureBytes returns the entire contents of the given file as a byte slice

func LoadFixtureString

func LoadFixtureString(t *testing.T, path string) string

LoadFixtureString returns the entire contents of the given file as a string

func LoadFixtureStringf

func LoadFixtureStringf(t *testing.T, format string, args ...interface{}) string

LoadFixtureStringf returns the entire contents of the given file as a string

func NewProtoV6ProviderFactory

func NewProtoV6ProviderFactory(subproviders ...subprovider.Subprovider) map[string]func() (tfprotov6.ProviderServer, error)

NewProtoV6ProviderFactory uses provided subprovider to create provider factory for test purposes

func TFTestSetup

func TFTestSetup() error

TFTestSetup contains common setup for tests in all subproviders

func TFTestTeardown

func TFTestTeardown() error

TFTestTeardown contains common teardown for tests in all subproviders

func TestRunner

func TestRunner(m *testing.M)

TestRunner executes common test setup and teardown in all subproviders

func TestStepDestroyFailed

func TestStepDestroyFailed(config string, expectedError *regexp.Regexp) resource.TestStep

TestStepDestroyFailed creates a terraform test step, to work around an issue of verifying error if resource destroy failed correctly. Problem: When throwing an error from destroy terraform units produce “Error running post-test destroy, there may be dangling resources" because Terraform requires that destroy is successful to clean up the resources. Adding this step to the end will cause destroy to be triggered twice: First one will test the erroneous behaviour, the second one will be successful (to fulfil Terraform units requirement). Usage: add returned test step as the last step with the same config file as in previous step and expected error message.

Types

type MockCalls

type MockCalls []*mock.Call

MockCalls is a wrapper around []*mock.Call

func (MockCalls) Once

func (mc MockCalls) Once() MockCalls

Once expects calls to be called only one time

func (MockCalls) ReturnErr

func (mc MockCalls) ReturnErr(method string, err error) MockCalls

ReturnErr sets the given error as a last return parameter of the call with the given method

func (MockCalls) Times

func (mc MockCalls) Times(t int) MockCalls

Times sets how many times we expect each call to execute

type TattleT

type TattleT struct{ *testing.T }

TattleT wraps a *testing.T to intercept a Testify mock's call of t.FailNow(). When testing.t.FailNow() is called from any goroutine other than the one on which a test was created, it causes the test to hang. Testify's mocks fail to inform the user which test failed. Use this struct to wrap a *testing.TattleT when you call `mock.Test(TattleT{t})` and the mock's failure message will include the failling test's name. Such failures are usually caused by unexpected method calls on a mock.

NB: You would only need to use this where Testify mocks are used in tests that spawn goroutines, such as those run by the Terraform test driver.

func (TattleT) FailNow

func (t TattleT) FailNow()

FailNow overrides testing.T.FailNow() so when a test mock fails an assertion, we see which test failed

Jump to

Keyboard shortcuts

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