testutil

package
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: May 4, 2022 License: Apache-2.0 Imports: 22 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 testing.TB, expected, actual T) bool

AssertEqual asserts that two BSON values are equal.

func AssertNotEqual added in v0.1.0

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

AssertNotEqual asserts that two BSON values are not equal.

func CompareAndSetByPathNum added in v0.0.5

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

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 testing.TB, expected, actual T, delta time.Duration, path ...string)

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 testing.TB) context.Context

func Dump added in v0.0.6

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

Dump returns string representation for debugging.

func GetByPath added in v0.0.5

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

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

func MustParseDumpFile

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

func ParseDump

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

func ParseDumpFile

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

func Pool

func Pool(ctx context.Context, tb testing.TB, opts *PoolOpts, l *zap.Logger) *pgdb.Pool

Pool creates a new connection connection pool for testing.

func Schema

func Schema(ctx context.Context, tb testing.TB, pool *pgdb.Pool) string

Schema creates a new FerretDB database / PostgreSQL schema for testing.

Name is stable for that test. It is automatically dropped if test pass.

func SchemaName added in v0.0.5

func SchemaName(tb testing.TB) string

SchemaName returns a stable schema name for that test.

func SetByPath added in v0.0.5

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

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

The path must exist.

func Table added in v0.1.0

func Table(ctx context.Context, tb testing.TB, pool *pgdb.Pool, db string) string

Table creates FerretDB collection / PostgreSQL table for testing.

Name is stable for that test.

func TableName added in v0.0.5

func TableName(tb testing.TB) string

TableName returns a stable table name for that test.

func WriteSeedCorpusFile added in v0.1.0

func WriteSeedCorpusFile(tb testing.TB, funcName string, b []byte)

WriteSeedCorpusFile adds given data to the fuzzing seed corpus for given fuzz function.

It can be an alternative to using f.Add.

Types

type PoolOpts added in v0.0.5

type PoolOpts struct {
	// If set, the pool will use read-only user.
	ReadOnly bool
}

PoolOpts represents options for creating a connection pool.

Jump to

Keyboard shortcuts

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