testutil

package
v1.6.1 Latest Latest
Warning

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

Go to latest
Published: Jul 26, 2023 License: Apache-2.0 Imports: 28 Imported by: 0

Documentation

Overview

Package testutil provides testing helpers.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AssertEqual added in v0.1.0

func AssertEqual[T types.Type](tb testtb.TB, expected, actual T) bool

AssertEqual asserts that two BSON values are equal.

func AssertEqualSlices added in v0.5.1

func AssertEqualSlices[T types.Type](tb testtb.TB, expected, actual []T) bool

AssertEqualSlices asserts that two BSON slices are equal.

func AssertNotEqual added in v0.1.0

func AssertNotEqual[T types.Type](tb testtb.TB, expected, actual T) bool

AssertNotEqual asserts that two BSON values are not equal.

func AssertNotEqualSlices added in v0.5.1

func AssertNotEqualSlices[T types.Type](tb testtb.TB, expected, actual []T) bool

AssertNotEqualSlices asserts that two BSON slices are not equal.

func CollectionName added in v0.5.1

func CollectionName(tb testtb.TB) string

CollectionName returns a stable FerretDB collection name for that test.

It should be called only once per test.

func CompareAndSetByPathNum added in v0.0.5

func CompareAndSetByPathNum[T types.CompositeTypeInterface](tb testtb.TB, expected, actual T, delta float64, path types.Path)

CompareAndSetByPathNum asserts that two values with the same path in two objects (documents or arrays) are within a given numerical delta, then updates the expected object with the actual value.

func CompareAndSetByPathTime added in v0.0.5

func CompareAndSetByPathTime[T types.CompositeTypeInterface](tb testtb.TB, expected, actual T, delta time.Duration, path types.Path)

CompareAndSetByPathTime asserts that two values with the same path in two objects (documents or arrays) are within a given time delta, then updates the expected object with the actual value.

func Ctx

func Ctx(tb testtb.TB) context.Context

Ctx returns test context. It is canceled when test is finished or interrupted.

func DatabaseName added in v0.5.1

func DatabaseName(tb testtb.TB) string

DatabaseName returns a stable FerretDB database name for that test.

It should be called only once per test.

func Dump added in v0.0.6

func Dump[T types.Type](tb testtb.TB, o T) string

Dump returns string representation for debugging.

func DumpSlice added in v0.5.1

func DumpSlice[T types.Type](tb testtb.TB, s []T) string

DumpSlice returns string representation for debugging.

func GetByPath added in v0.0.5

func GetByPath[T types.CompositeTypeInterface](tb testtb.TB, comp T, path types.Path) any

GetByPath returns a value by path - a sequence of indexes and keys.

func IndentJSON added in v0.4.0

func IndentJSON(tb testtb.TB, b []byte) []byte

IndentJSON returns an indented form of the JSON input.

func LevelLogger added in v1.4.0

func LevelLogger(tb testtb.TB, level zap.AtomicLevel) *zap.Logger

LevelLogger returns zap test logger with given level and valid configuration.

func Logger added in v0.6.0

func Logger(tb testtb.TB) *zap.Logger

Logger returns zap test logger with valid configuration.

func MustParseDumpFile

func MustParseDumpFile(path ...string) []byte

MustParseDumpFile panics if fails to parse file input to byte array.

func ParseDump

func ParseDump(tb testtb.TB, s string) []byte

ParseDump parses string to bytes, in tests.

func ParseDumpFile

func ParseDumpFile(tb testtb.TB, path ...string) []byte

ParseDumpFile parses file input to bytes, in tests.

func PostgreSQLURL added in v0.5.3

func PostgreSQLURL(tb testtb.TB, opts *PostgreSQLURLOpts) string

PostgreSQLURL returns PostgreSQL URL for testing.

TODO remove this function https://github.com/FerretDB/FerretDB/issues/1568

func SetByPath added in v0.0.5

func SetByPath[T types.CompositeTypeInterface](tb testtb.TB, comp T, value any, path types.Path)

SetByPath sets the value by path - a sequence of indexes and keys.

The path must exist.

Types

type PostgreSQLURLOpts added in v0.5.3

type PostgreSQLURLOpts struct {
	// PostgreSQL database name, defaults to `ferretdb`.
	DatabaseName string

	// If set, the pool will use read-only user.
	ReadOnly bool

	// Extra query parameters.
	Params map[string]string
}

PostgreSQLURLOpts represents PostgreSQLURL options.

Directories

Path Synopsis
Package testfail provides testing helpers for expected tests failures.
Package testfail provides testing helpers for expected tests failures.
Package teststress provides a helper for stress testing.
Package teststress provides a helper for stress testing.
Package testtb provides a common testing interface.
Package testtb provides a common testing interface.

Jump to

Keyboard shortcuts

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