dbtestutil

package
v2.12.0 Latest Latest
Warning

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

Go to latest
Published: Jun 4, 2024 License: AGPL-3.0 Imports: 25 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DumpOnFailure added in v2.2.0

func DumpOnFailure(t testing.TB, connectionURL string)

DumpOnFailure exports the database referenced by connectionURL to a file corresponding to the current test, with a suffix indicating the time the test was run. To import this into a new database (assuming you have already run make test-postgres-docker):

  • Create a new test database: go run ./scripts/migrate-ci/main.go and note the database name it outputs
  • Import the file into the above database: psql 'postgres://postgres:[email protected]:5432/<dbname>?sslmode=disable' -f <path to file.test.sql>
  • Run a dev server against that database: ./scripts/coder-dev.sh server --postgres-url='postgres://postgres:[email protected]:5432/<dbname>?sslmode=disable'

func NewDB

func NewDB(t testing.TB, opts ...Option) (database.Store, pubsub.Pubsub)

func NewDBWithSQLDB added in v2.3.1

func NewDBWithSQLDB(t testing.TB, opts ...Option) (database.Store, pubsub.Pubsub, *sql.DB)

func Open added in v2.10.0

func Open() (string, func(), error)

Open creates a new PostgreSQL database instance. With DB_FROM environment variable set, it clones a database from the provided template. With the environment variable unset, it creates a new Docker container running postgres.

func OpenContainerized added in v2.10.0

func OpenContainerized(port int) (string, func(), error)

OpenContainerized creates a new PostgreSQL server using a Docker container. If port is nonzero, forward host traffic to that port to the database. If port is zero, allocate a free port from the OS.

func PGDump added in v2.11.0

func PGDump(dbURL string) ([]byte, error)

PGDump runs pg_dump against dbURL and returns the output. It is used by DumpOnFailure().

func PGDumpSchemaOnly added in v2.11.0

func PGDumpSchemaOnly(dbURL string) ([]byte, error)

PGDumpSchemaOnly is for use by gen/dump only. It runs pg_dump against dbURL and sets a consistent timezone and encoding.

func WillUsePostgres

func WillUsePostgres() bool

WillUsePostgres returns true if a call to NewDB() will return a real, postgres-backed Store and Pubsub.

Types

type Option added in v2.2.0

type Option func(*options)

func WithDumpOnFailure added in v2.2.0

func WithDumpOnFailure() Option

WithDumpOnFailure will dump the entire database on test failure.

func WithLogger added in v2.8.0

func WithLogger(logger slog.Logger) Option

func WithTimezone added in v2.2.0

func WithTimezone(tz string) Option

WithTimezone sets the database to the defined timezone.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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