diff --git a/testhelper/docker/resource/minio/config.go b/testhelper/docker/resource/minio/config.go index a39988b1..2a847e4a 100644 --- a/testhelper/docker/resource/minio/config.go +++ b/testhelper/docker/resource/minio/config.go @@ -1,5 +1,9 @@ package minio +import ( + "github.com/ory/dockertest/v3/docker" +) + type Opt func(*Config) func WithTag(tag string) Opt { @@ -8,6 +12,12 @@ func WithTag(tag string) Opt { } } +func WithNetwork(network *docker.Network) Opt { + return func(c *Config) { + c.Network = network + } +} + func WithOptions(options ...string) Opt { return func(c *Config) { c.Options = options @@ -16,5 +26,6 @@ func WithOptions(options ...string) Opt { type Config struct { Tag string + Network *docker.Network Options []string } diff --git a/testhelper/docker/resource/minio/minio.go b/testhelper/docker/resource/minio/minio.go index 8f996e5f..c8cbf5ed 100644 --- a/testhelper/docker/resource/minio/minio.go +++ b/testhelper/docker/resource/minio/minio.go @@ -50,9 +50,15 @@ func Setup(pool *dockertest.Pool, d resource.Cleaner, opts ...func(*Config)) (*R opt(c) } + var networkID string + if c.Network != nil { + networkID = c.Network.ID + } + minioContainer, err := pool.RunWithOptions(&dockertest.RunOptions{ Repository: "minio/minio", Tag: c.Tag, + NetworkID: networkID, Cmd: []string{"server", "/data"}, Env: append([]string{ fmt.Sprintf("MINIO_ACCESS_KEY=%s", accessKeyId),