testutility

package
v2.0.0-beta2 Latest Latest
Warning

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

Go to latest
Published: Feb 12, 2025 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CleanSnapshots

func CleanSnapshots(m *testing.M)

CleanSnapshots ensures that snapshots are relevant and sorted for consistency

func CreateTestDir

func CreateTestDir(t *testing.T) string

CreateTestDir makes a temporary directory for use in testing that involves writing and reading files from disk, which is automatically cleaned up when testing finishes

func IsAcceptanceTesting

func IsAcceptanceTesting() bool

IsAcceptanceTesting returns true if the test suite is being run with acceptance tests enabled

func LoadJSONFixture

func LoadJSONFixture[V any](t *testing.T, path string) V

LoadJSONFixture returns the contents of the fixture file parsed as JSON

func LoadJSONFixtureWithWindowsReplacements

func LoadJSONFixtureWithWindowsReplacements[V any](
	t *testing.T,
	path string,
	replacements map[string]string,
) V

LoadJSONFixtureWithWindowsReplacements returns the contents of the fixture file parsed as JSON after applying any replacements if running on Windows

func Skip

func Skip(t *testing.T, args ...any)

Skip is equivalent to t.Log followed by t.SkipNow, but allows tracking of what snapshots are skipped so that they're not marked as obsolete

func SkipIfNotAcceptanceTesting

func SkipIfNotAcceptanceTesting(t *testing.T, reason string)

SkipIfNotAcceptanceTesting marks the test as skipped unless the test suite is being run with acceptance tests enabled, as indicated by IsAcceptanceTesting

func ValueIfOnWindows

func ValueIfOnWindows(win, or string) string

Types

type MockHTTPServer

type MockHTTPServer struct {
	*httptest.Server
	// contains filtered or unexported fields
}

func NewMockHTTPServer

func NewMockHTTPServer(t *testing.T) *MockHTTPServer

NewMockHTTPServer starts and returns a new simple HTTP Server for mocking basic requests. The Server will automatically be shut down with Close() in the test Cleanup function.

Use the SetResponse / SetResponseFromFile to set the responses for specific URL paths.

func (*MockHTTPServer) ServeHTTP

func (m *MockHTTPServer) ServeHTTP(w http.ResponseWriter, r *http.Request)

ServeHTTP is the http.Handler for the underlying httptest.Server.

func (*MockHTTPServer) SetAuthorization

func (m *MockHTTPServer) SetAuthorization(t *testing.T, auth string)

SetAuthorization sets the contents of the 'Authorization' header the server expects for all endpoints.

The incoming requests' headers must match the auth string exactly, otherwise the server will response with 401 Unauthorized. If authorization is unset or empty, the server will not require authorization.

func (*MockHTTPServer) SetResponse

func (m *MockHTTPServer) SetResponse(t *testing.T, path string, response []byte)

SetResponse sets the Server's response for the URL path to be response bytes.

func (*MockHTTPServer) SetResponseFromFile

func (m *MockHTTPServer) SetResponseFromFile(t *testing.T, path string, filename string)

SetResponseFromFile sets the Server's response for the URL path to be the contents of the file at filename.

type Snapshot

type Snapshot struct {
	// contains filtered or unexported fields
}

func NewSnapshot

func NewSnapshot() Snapshot

NewSnapshot creates a snapshot that can be passed around within tests

func (Snapshot) MatchJSON

func (s Snapshot) MatchJSON(t *testing.T, got any)

MatchJSON asserts the existing snapshot matches what was gotten in the test, after being marshalled as JSON

func (Snapshot) MatchText

func (s Snapshot) MatchText(t *testing.T, got string)

MatchText asserts the existing snapshot matches what was gotten in the test

func (Snapshot) WithCRLFReplacement

func (s Snapshot) WithCRLFReplacement() Snapshot

WithCRLFReplacement adds a Windows replacement for "\r\n" to "\n". This should be called after WithWindowsReplacements if used together.

func (Snapshot) WithWindowsReplacements

func (s Snapshot) WithWindowsReplacements(replacements map[string]string) Snapshot

WithWindowsReplacements adds a map of strings with values that they should be replaced within before comparing the snapshot when running on Windows

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL
JackTT - Gopher 🇻🇳