Skip to content

Commit

Permalink
feat: add BuuildArgs to BuildOptions (ory#242)
Browse files Browse the repository at this point in the history
  • Loading branch information
potix2 committed Dec 3, 2020
1 parent c4db3b6 commit 80a367c
Show file tree
Hide file tree
Showing 2 changed files with 43 additions and 0 deletions.
2 changes: 2 additions & 0 deletions dockertest.go
Expand Up @@ -306,6 +306,7 @@ type RunOptions struct {
type BuildOptions struct {
Dockerfile string
ContextDir string
BuildArgs []dc.BuildArg
}

// BuildAndRunWithBuildOptions builds and starts a docker container.
Expand All @@ -316,6 +317,7 @@ func (d *Pool) BuildAndRunWithBuildOptions(buildOpts *BuildOptions, runOpts *Run
Dockerfile: buildOpts.Dockerfile,
OutputStream: ioutil.Discard,
ContextDir: buildOpts.ContextDir,
BuildArgs: buildOpts.BuildArgs,
})

if err != nil {
Expand Down
41 changes: 41 additions & 0 deletions dockertest_test.go
Expand Up @@ -141,6 +141,47 @@ func TestBuildImage(t *testing.T) {
require.Nil(t, pool.Purge(resource))
}

func TestBuildImageWithBuildArg(t *testing.T) {
// Create Dockerfile in temp dir
dir, _ := ioutil.TempDir("", "dockertest")
defer os.RemoveAll(dir)

dockerfilePath := dir + "/Dockerfile"
ioutil.WriteFile(dockerfilePath,
[]byte((`FROM busybox
ARG foo
RUN echo -n $foo > /build-time-value
CMD sleep 10
`)),
0644,
)

resource, err := pool.BuildAndRunWithBuildOptions(
&BuildOptions{
ContextDir: dir,
Dockerfile: "Dockerfile",
BuildArgs: []dc.BuildArg{
{Name: "foo", Value: "bar"},
},
},
&RunOptions{
Name: "buildarg-test",
}, func(hc *dc.HostConfig) {
hc.AutoRemove = true
})
require.Nil(t, err)

var stdout bytes.Buffer
exitCode, err := resource.Exec(
[]string{"cat", "/build-time-value"},
ExecOptions{StdOut: &stdout},
)
require.Nil(t, err)
require.Zero(t, exitCode)
require.Equal(t, stdout.String(), "bar")
require.Nil(t, pool.Purge(resource))
}

func TestExpire(t *testing.T) {
resource, err := pool.Run("postgres", "9.5", nil)
require.Nil(t, err)
Expand Down

0 comments on commit 80a367c

Please sign in to comment.