dockertest

package
Version: v0.0.0-...-0f53db2 Latest Latest
Warning

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

Go to latest
Published: Sep 4, 2021 License: Apache-2.0 Imports: 16 Imported by: 0

Documentation

Overview

Package dockertest contains helper functions for setting up and tearing down docker containers to aid in testing.

Index

Constants

View Source
const (
	MySQLUsername = "root"
	MySQLPassword = "root"

	PostgresUsername = "docker" // set up by the dockerfile of postgresImage
	PostgresPassword = "docker" // set up by the dockerfile of postgresImage

)

Variables

View Source
var Debug bool

Debug when set, prevents any container from being removed.

Functions

func IP

func IP(containerID string) (string, error)

IP returns the IP address of the container.

func KillContainer

func KillContainer(container string) error

func Pull

func Pull(image string) error

Pull retrieves the docker image with 'docker pull'.

Types

type ContainerID

type ContainerID string

func SetupMongoContainer

func SetupMongoContainer(t *testing.T) (c ContainerID, ip string)

SetupMongoContainer sets up a real MongoDB instance for testing purposes, using a Docker container. It returns the container ID and its IP address, or makes the test fail on error. Currently using https://index.docker.io/u/robinvdvleuten/mongo/

func SetupMySQLContainer

func SetupMySQLContainer(t *testing.T, dbname string) (c ContainerID, ip string)

SetupMySQLContainer sets up a real MySQL instance for testing purposes, using a Docker container. It returns the container ID and its IP address, or makes the test fail on error. Currently using https://hub.docker.com/_/mysql/

func SetupPostgreSQLContainer

func SetupPostgreSQLContainer(t *testing.T, dbname string) (c ContainerID, ip string)

SetupPostgreSQLContainer sets up a real PostgreSQL instance for testing purposes, using a Docker container. It returns the container ID and its IP address, or makes the test fail on error. Currently using https://index.docker.io/u/nornagon/postgres

func (ContainerID) IP

func (c ContainerID) IP() (string, error)

func (ContainerID) Kill

func (c ContainerID) Kill() error

func (ContainerID) KillRemove

func (c ContainerID) KillRemove(t *testing.T)

KillRemove calls Kill on the container, and then Remove if there was no error. It logs any error to t.

func (ContainerID) Remove

func (c ContainerID) Remove() error

Remove runs "docker rm" on the container

Source Files

Jump to

Keyboard shortcuts

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