test

package
v0.0.0-...-d64132e Latest Latest
Warning

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

Go to latest
Published: Nov 28, 2024 License: MPL-2.0 Imports: 25 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Assert

func Assert(t *testing.T, result bool, message string)

Assert a boolean

func AssertBoxedNil

func AssertBoxedNil(t *testing.T, obj interface{}, message string)

AssertBoxedNil checks that an inner object is nil. This is intentional for testing purposes only.

func AssertByteEquals

func AssertByteEquals(t *testing.T, one []byte, two []byte)

AssertByteEquals uses bytes.Equal to measure one and two for equality.

func AssertContains

func AssertContains(t *testing.T, haystack string, needle string)

AssertContains determines whether needle can be found in haystack

func AssertDeepEquals

func AssertDeepEquals(t *testing.T, one interface{}, two interface{})

AssertDeepEquals uses the reflect.DeepEqual method to measure one and two

func AssertEquals

func AssertEquals(t *testing.T, one interface{}, two interface{})

AssertEquals uses the equality operator (==) to measure one and two

func AssertError

func AssertError(t *testing.T, err error, message string)

AssertError checks that err is non-nil

func AssertErrorIs

func AssertErrorIs(t *testing.T, err error, target error)

AssertErrorIs checks that err wraps the given error

func AssertErrorWraps

func AssertErrorWraps(t *testing.T, err error, target interface{})

AssertErrorWraps checks that err can be unwrapped into the given target. NOTE: Has the side effect of actually performing that unwrapping.

func AssertMarshaledEquals

func AssertMarshaledEquals(t *testing.T, one interface{}, two interface{})

AssertMarshaledEquals marshals one and two to JSON, and then uses the equality operator to measure them

func AssertMetricWithLabelsEquals

func AssertMetricWithLabelsEquals(t *testing.T, c prometheus.Collector, l prometheus.Labels, expected float64)

AssertMetricWithLabelsEquals determines whether the value held by a prometheus Collector (e.g. Gauge, Counter, CounterVec, etc) is equal to the expected float64. In order to make useful assertions about just a subset of labels (e.g. for a CounterVec with fields "host" and "valid", being able to assert that two "valid": "true" increments occurred, without caring which host was tagged in each), takes a set of labels and ignores any metrics which have different label values. Only works for simple metrics (Counters and Gauges), or for the *count* (not value) of data points in a Histogram.

func AssertNil

func AssertNil(t *testing.T, obj interface{}, message string)

AssertNil checks that an object is nil. Being a "boxed nil" (a nil value wrapped in a non-nil interface type) is not good enough.

func AssertNotContains

func AssertNotContains(t *testing.T, haystack string, needle string)

AssertNotContains determines if needle is not found in haystack

func AssertNotEquals

func AssertNotEquals(t *testing.T, one interface{}, two interface{})

AssertNotEquals uses the equality operator to measure that one and two are different

func AssertNotError

func AssertNotError(t *testing.T, err error, message string)

AssertNotError checks that err is nil

func AssertNotNil

func AssertNotNil(t *testing.T, obj interface{}, message string)

AssertNotNil checks an object to be non-nil. Being a "boxed nil" (a nil value wrapped in a non-nil interface type) is not good enough. Note that there is a gap between AssertNil and AssertNotNil. Both fail when called with a boxed nil. This is intentional: we want to avoid boxed nils.

func AssertSliceContains

func AssertSliceContains[T comparable](t *testing.T, haystack []T, needle T)

AssertSliceContains determines if needle can be found in haystack

func AssertUnmarshaledEquals

func AssertUnmarshaledEquals(t *testing.T, got, expected string)

AssertUnmarshaledEquals unmarshals two JSON strings (got and expected) to a map[string]interface{} and then uses reflect.DeepEqual to check they are the same

func LoadSigner

func LoadSigner(filename string) (crypto.Signer, error)

LoadSigner loads a PEM private key specified by filename or returns an error. Can be paired with issuance.LoadCertificate to get both a CA cert and its associated private key for use in signing throwaway test certs.

func ResetBoulderTestDatabase

func ResetBoulderTestDatabase(t testing.TB) func()

ResetBoulderTestDatabase returns a cleanup function which deletes all rows in all tables of the 'boulder_sa_test' database. Omits the 'gorp_migrations' table as this is used by sql-migrate (https://github.com/rubenv/sql-migrate) to track migrations. If it encounters an error it fails the tests.

func ResetIncidentsTestDatabase

func ResetIncidentsTestDatabase(t testing.TB) func()

ResetIncidentsTestDatabase returns a cleanup function which deletes all rows in all tables of the 'incidents_sa_test' database. Omits the 'gorp_migrations' table as this is used by sql-migrate (https://github.com/rubenv/sql-migrate) to track migrations. If it encounters an error it fails the tests.

func ThrowAwayCert

func ThrowAwayCert(t *testing.T, clk clock.Clock) (string, *x509.Certificate)

ThrowAwayCert is a small test helper function that creates a self-signed certificate with one SAN. It returns the parsed certificate and its serial in string form for convenience. The certificate returned from this function is the bare minimum needed for most tests and isn't a robust example of a complete end entity certificate.

Types

type CleanUpDB

type CleanUpDB interface {
	BeginTx(context.Context, *sql.TxOptions) (*sql.Tx, error)
	ExecContext(context.Context, string, ...interface{}) (sql.Result, error)
	QueryContext(context.Context, string, ...interface{}) (*sql.Rows, error)

	io.Closer
}

CleanUpDB is an interface with only what is needed to delete all rows in all tables in a database plus close the database connection. It is satisfied by *sql.DB.

Directories

Path Synopsis
boulder-tools
generate.go is a helper utility for integration tests.
generate.go is a helper utility for integration tests.
This is a test server that implements the subset of RFC6962 APIs needed to run Boulder's CT log submission code.
This is a test server that implements the subset of RFC6962 APIs needed to run Boulder's CT log submission code.
inmem
ra
sa
acme
Package acme provides ACME client functionality tailored to the needs of the load-generator.
Package acme provides ACME client functionality tailored to the needs of the load-generator.
ocsp

Jump to

Keyboard shortcuts

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