summaryrefslogtreecommitdiff
path: root/crashboxd/src/test/scala/io/crashbox/ci/DockerUtil.scala
diff options
context:
space:
mode:
authorJakob Odersky <jakob@odersky.com>2017-04-09 16:32:19 -0700
committerJakob Odersky <jakob@odersky.com>2017-04-09 16:32:19 -0700
commitb492dcf46718f50ca051017bddd4551faa867339 (patch)
tree30ec6c2494b3c9c97d5e476d360168ad5ddac6b6 /crashboxd/src/test/scala/io/crashbox/ci/DockerUtil.scala
parent382152098459a5783e3a794161ed2da2a321af37 (diff)
downloadcrashbox-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.scala27
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)
+ }
+ }
+
+}