dbtest

package
v0.0.0-...-40cf777 Latest Latest
Warning

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

Go to latest
Published: Sep 27, 2022 License: MIT Imports: 17 Imported by: 0

Documentation

Overview

Package dbtest contains supporting code for running tests that hit the DB.

Index

Constants

View Source
const (
	Success = "\u2713"
	Failed  = "\u2717"
)

Success and failure markers.

Variables

This section is empty.

Functions

func IntPointer

func IntPointer(i int) *int

IntPointer is a helper to get a *int from a int. It is in the tests package because we normally don't want to deal with pointers to basic types but it's useful in some tests.

func NewUnit

func NewUnit(t *testing.T, nc *docker.Container, dbc *docker.Container, dbName string) (*zap.SugaredLogger, *sqlx.DB, *nats.NATS, func())

NewUnit creates a test database inside a Docker container. It creates the required table structure but the database is otherwise empty. It returns the database to use as well as a function to call at the end of the test.

func StartDB

func StartDB() (*docker.Container, error)

StartDB starts a database instance.

func StartNATS

func StartNATS() (*docker.Container, error)

func StopDB

func StopDB(c *docker.Container)

StopDB stops a running database instance.

func StopNATS

func StopNATS(c *docker.Container)

func StringPointer

func StringPointer(s string) *string

StringPointer is a helper to get a *string from a string. It is in the tests package because we normally don't want to deal with pointers to basic types but it's useful in some tests.

Types

type Test

type Test struct {
	DB       *sqlx.DB
	Log      *zap.SugaredLogger
	Auth     *auth.Auth
	NATS     *nats.NATS
	Teardown func()
	// contains filtered or unexported fields
}

Test owns state for running and shutting down tests.

func NewIntegration

func NewIntegration(t *testing.T, nc *docker.Container, dbc *docker.Container, dbName string) *Test

NewIntegration creates a database, seeds it, constructs an authenticator.

Jump to

Keyboard shortcuts

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