diff options
author | Jakob Odersky <jakob@odersky.com> | 2017-04-09 16:32:19 -0700 |
---|---|---|
committer | Jakob Odersky <jakob@odersky.com> | 2017-04-09 16:32:19 -0700 |
commit | b492dcf46718f50ca051017bddd4551faa867339 (patch) | |
tree | 30ec6c2494b3c9c97d5e476d360168ad5ddac6b6 /crashboxd/src/test/scala/io/crashbox/ci/DockerUtil.scala | |
parent | 382152098459a5783e3a794161ed2da2a321af37 (diff) | |
download | crashbox-ci-b492dcf46718f50ca051017bddd4551faa867339.tar.gz crashbox-ci-b492dcf46718f50ca051017bddd4551faa867339.tar.bz2 crashbox-ci-b492dcf46718f50ca051017bddd4551faa867339.zip |
Refactor testing utilities
Diffstat (limited to 'crashboxd/src/test/scala/io/crashbox/ci/DockerUtil.scala')
-rw-r--r-- | crashboxd/src/test/scala/io/crashbox/ci/DockerUtil.scala | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/crashboxd/src/test/scala/io/crashbox/ci/DockerUtil.scala b/crashboxd/src/test/scala/io/crashbox/ci/DockerUtil.scala new file mode 100644 index 0000000..794a390 --- /dev/null +++ b/crashboxd/src/test/scala/io/crashbox/ci/DockerUtil.scala @@ -0,0 +1,27 @@ +package io.crashbox.ci + +object DockerUtil { + import IOUtil._ + import com.spotify.docker.client.DockerClient + import java.io.File + import java.nio.file.Files + + val defaultImage = "crashbox" + + def ensureImage(client: DockerClient): Unit = { + println("Pulling base docker image for running docker tests") + val baseImage = "debian:jessie-backports" + client.pull(baseImage) + + withTempDir { dir => + println("Adapting base image for tests") + val modifications = s"""|FROM $baseImage + |RUN adduser crashbox + |USER crashbox + |""".stripMargin + Files.write((new File(dir, "Dockerfile")).toPath, modifications.getBytes) + client.build(dir.toPath, defaultImage) + } + } + +} |