Home Download Docs Code Community
import "perkeep/pkg/test/dockertest"
Overview
Index

Overview ▾

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

Index

Constants
Variables
func IP(containerID string) (string, error)
func KillContainer(container string) error
func Pull(image string) error
type ContainerID
    func SetupMongoContainer(t *testing.T) (c ContainerID, ip string)
    func SetupMySQLContainer(t *testing.T, dbname string) (c ContainerID, ip string)
    func SetupPostgreSQLContainer(t *testing.T, dbname string) (c ContainerID, ip string)
    func (c ContainerID) IP() (string, error)
    func (c ContainerID) Kill() error
    func (c ContainerID) KillRemove(t *testing.T)
    func (c ContainerID) Remove() error

Package files

docker.go

Constants

const (
    MySQLUsername = "root"
    MySQLPassword = "root"

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

)

Variables

var Debug bool

Debug when set, prevents any container from being removed.

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'.

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

Website layout inspired by memcached.
Content by the authors.