dbtest

package
v0.0.0-...-f0a004f Latest Latest
Warning

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

Go to latest
Published: May 7, 2024 License: Apache-2.0 Imports: 22 Imported by: 0

Documentation

Overview

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

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func BoolPointer

func BoolPointer(b bool) *bool

BoolPointer is a helper to get a *bool from a bool. 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 FloatPointer

func FloatPointer(f float64) *float64

FloatPointer is a helper to get a *float64 from a float64. 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 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 StartDB

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

StartDB starts a database instance.

func StopDB

func StopDB(c *docker.Container)

StopDB stops a running database instance.

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 BusDomain

type BusDomain struct {
	Delegate *delegate.Delegate
	Home     *homebus.Business
	Product  *productbus.Business
	User     *userbus.Business
	VProduct *vproductbus.Business
}

BusDomain represents all the business domain apis needed for testing.

type Database

type Database struct {
	DB        *sqlx.DB
	Log       *logger.Logger
	BusDomain BusDomain
	Teardown  func()
}

Database owns state for running and shutting down tests.

func NewDatabase

func NewDatabase(t *testing.T, c *docker.Container, testName string) *Database

NewDatabase creates a new test database inside the database that was started to handle testing. The database is migrated to the current version and a connection pool is provided with business domain packages.

Jump to

Keyboard shortcuts

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