test

package
v1.1.0 Latest Latest
Warning

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

Go to latest
Published: Apr 2, 2024 License: MIT Imports: 15 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

Cancelled matches context.Context instances that are cancelled.

CancelledAndHasTimeout matches context.Context instances that are cancelled AND were also created from NewContextForTest.

NotCancelled matches context.Context instances that are not cancelled.

NotCancelledAndHasTimeout matches context.Context instances that are not cancelled AND were also created from NewContextForTest.

Functions

func CaptureLogsForTest

func CaptureLogsForTest() func() []string

CaptureLogsForTest adds a logging listener which captures messages to an internal channel. Returns a function that ends log capturing and returns any captured messages. It's safe to call endCapture() multiple times, so a simple call pattern is:

endCapture := CaptureLogsForTest()
defer endCapture()  // ensure cleanup in case of test assert failures

/* some test code */

messages := endCapture()
/* do inspection of log messages */

func CaptureLogsForTestWithChannel

func CaptureLogsForTestWithChannel(messagesCh chan string) func() []string

func EnableStdoutLogging

func EnableStdoutLogging()

EnableStdoutLogging turns on logging to stdout for diagnostics.

func NewContextWithTimeoutForTests added in v1.0.1

func NewContextWithTimeoutForTests(parent context.Context, timeout time.Duration) (context.Context, context.CancelFunc)

NewContextWithTimeoutForTests creates a context with a lower timeout than requested just to keep unit test times reasonable.

It validates that the passed in timeout is the actual defaultCloseTimeout and also adds in a testContextKey(0) as a value, which can be used to verify that the context has been properly propagated.

func RandomString added in v0.1.1

func RandomString(prefix string, length int) string

RandomString generates a random string with prefix

func RequireClose added in v0.2.0

func RequireClose[T interface {
	Close(ctx context.Context) error
}](t *testing.T, closeable T)

func RequireContextHasDefaultTimeout added in v0.4.0

func RequireContextHasDefaultTimeout(t *testing.T, ctx context.Context, timeout time.Duration)

RequireContextHasDefaultTimeout checks that the context has a deadline set, and that it's using the right timeout. NOTE: There's some wiggle room since some time will expire before this is called.

func RequireNSClose added in v1.0.0

func RequireNSClose(t *testing.T, closeable interface {
	Close(ctx context.Context, permanent bool) error
})

Types

type ConnectionParamsForTest added in v0.1.1

type ConnectionParamsForTest struct {
	ClientID                   string
	ConnectionString           string
	ConnectionStringListenOnly string
	ConnectionStringSendOnly   string
	EventHubName               string
	EventHubLinksOnlyName      string
	EventHubNamespace          string
	ResourceGroup              string
	StorageConnectionString    string
	SubscriptionID             string
	TenantID                   string
}

func GetConnectionParamsForTest added in v0.1.1

func GetConnectionParamsForTest(t *testing.T) ConnectionParamsForTest

type ContextCancelledMatcher added in v1.0.1

type ContextCancelledMatcher struct {
	// WantCancelled should be set if we expect the context should
	// be cancelled. If true, we check if Err() != nil, if false we check
	// that it's nil.
	WantCancelled bool
}

func (ContextCancelledMatcher) Matches added in v1.0.1

func (m ContextCancelledMatcher) Matches(x any) bool

Matches returns whether x is a match.

func (ContextCancelledMatcher) String added in v1.0.1

func (m ContextCancelledMatcher) String() string

String describes what the matcher matches.

type ContextHasTestValueMatcher added in v1.0.1

type ContextHasTestValueMatcher struct{}

func (ContextHasTestValueMatcher) Matches added in v1.0.1

func (m ContextHasTestValueMatcher) Matches(x any) bool

func (ContextHasTestValueMatcher) String added in v1.0.1

Jump to

Keyboard shortcuts

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