From b492dcf46718f50ca051017bddd4551faa867339 Mon Sep 17 00:00:00 2001 From: Jakob Odersky Date: Sun, 9 Apr 2017 16:32:19 -0700 Subject: Refactor testing utilities --- .../src/test/scala/io/crashbox/ci/DockerUtil.scala | 27 ++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 crashboxd/src/test/scala/io/crashbox/ci/DockerUtil.scala (limited to 'crashboxd/src/test/scala/io/crashbox/ci/DockerUtil.scala') 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) + } + } + +} -- cgit v1.2.3