Skip to content

Commit f835923

Browse files
committed
fix tests
1 parent 14ae37b commit f835923

1 file changed

Lines changed: 15 additions & 1 deletion

File tree

src/test/scala/io/viash/auxiliary/MainBuildAuxiliaryDockerRequirements.scala

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,9 @@ abstract class AbstractMainBuildAuxiliaryDockerRequirements extends FixtureAnyFu
2525

2626
protected val image = "bash:3.2"
2727
protected val dockerTag = "viash_requirements_testbench"
28+
// jq setup requirement to be prepended to Docker engine setup.
29+
// Subclasses should override this for non-Alpine images.
30+
protected val jqSetup: String = """{ "type": "apk", "packages": ["jq"] }"""
2831

2932
case class FixtureParam()
3033

@@ -45,7 +48,13 @@ abstract class AbstractMainBuildAuxiliaryDockerRequirements extends FixtureAnyFu
4548
}
4649

4750
def deriveEngineConfig(setup: Option[String], test_setup: Option[String], name: String): String = {
48-
val setupStr = setup.map(s => s""", "setup": $s""").getOrElse("")
51+
val allSetupItems = setup match {
52+
case Some(s) =>
53+
val inner = s.trim.stripPrefix("[").stripSuffix("]").trim
54+
if (inner.nonEmpty) s"$jqSetup, $inner" else jqSetup
55+
case None => jqSetup
56+
}
57+
val setupStr = s""", "setup": [$allSetupItems]"""
4958
val testSetupStr = test_setup.map(s => s""", "test_setup": $s""").getOrElse("")
5059

5160
configDeriver.derive(
@@ -142,6 +151,7 @@ class MainBuildAuxiliaryDockerRequirementsApk extends AbstractMainBuildAuxiliary
142151
class MainBuildAuxiliaryDockerRequirementsApt extends AbstractMainBuildAuxiliaryDockerRequirements {
143152
override val dockerTag = "viash_requirements_testbench_apt"
144153
override val image = "debian:bullseye-slim"
154+
override protected val jqSetup: String = """{ "type": "apt", "packages": ["jq"] }"""
145155

146156
test("setup; check base image for apt still does not contain the cowsay package", DockerTest) { f =>
147157
val newConfigFilePath = deriveEngineConfig(None, None, "apt_base")
@@ -219,6 +229,7 @@ class MainBuildAuxiliaryDockerRequirementsApt extends AbstractMainBuildAuxiliary
219229
class MainBuildAuxiliaryDockerRequirementsYum extends AbstractMainBuildAuxiliaryDockerRequirements{
220230
override val dockerTag = "viash_requirements_testbench_yum"
221231
override val image = "fedora:38"
232+
override protected val jqSetup: String = """{ "type": "yum", "packages": ["jq"] }"""
222233

223234
test("setup; check base image for yum still does not contain the which package", DockerTest) { f =>
224235
val newConfigFilePath = deriveEngineConfig(None, None, "yum_base")
@@ -296,6 +307,7 @@ class MainBuildAuxiliaryDockerRequirementsYum extends AbstractMainBuildAuxiliary
296307
class MainBuildAuxiliaryDockerRequirementsRuby extends AbstractMainBuildAuxiliaryDockerRequirements{
297308
override val dockerTag = "viash_requirements_testbench_ruby"
298309
override val image = "ruby:slim-bullseye"
310+
override protected val jqSetup: String = """{ "type": "apt", "packages": ["jq"] }"""
299311

300312
test("setup; check base image for yum still does not contain the which package", DockerTest) { f =>
301313
val newConfigFilePath = deriveEngineConfig(None, None, "ruby_base")
@@ -373,6 +385,7 @@ class MainBuildAuxiliaryDockerRequirementsRuby extends AbstractMainBuildAuxiliar
373385
class MainBuildAuxiliaryDockerRequirementsR extends AbstractMainBuildAuxiliaryDockerRequirements{
374386
override val dockerTag = "viash_requirements_testbench_r"
375387
override val image = "r-base:4.3.1"
388+
override protected val jqSetup: String = """{ "type": "apt", "packages": ["jq"] }"""
376389

377390
test("setup; check base image for r still does not contain the glue package", DockerTest) { f =>
378391
val newConfigFilePath = deriveEngineConfig(None, None, "r_base")
@@ -484,6 +497,7 @@ class MainBuildAuxiliaryDockerRequirementsR extends AbstractMainBuildAuxiliaryDo
484497
class MainBuildAuxiliaryDockerRequirementsRBioc extends AbstractMainBuildAuxiliaryDockerRequirements{
485498
override val dockerTag = "viash_requirements_testbench_rbioc"
486499
override val image = "r-base:4.3.1"
500+
override protected val jqSetup: String = """{ "type": "apt", "packages": ["jq"] }"""
487501

488502
test("setup; check base image for r-bioc still does not contain the BiocGenerics package", DockerTest) { f =>
489503
val newConfigFilePath = deriveEngineConfig(None, None, "rbioc_base")

0 commit comments

Comments
 (0)