Skip to content

Commit 6949209

Browse files
committed
print layer contents in assertion message
1 parent 8876908 commit 6949209

File tree

1 file changed

+24
-12
lines changed
  • src/sbt-test/docker-sbt1.0/test-layer-groups-playframework

1 file changed

+24
-12
lines changed

src/sbt-test/docker-sbt1.0/test-layer-groups-playframework/build.sbt

Lines changed: 24 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -30,41 +30,53 @@ enablePlugins(DockerPlugin, LauncherJarPlugin)
3030
Universal / javaOptions ++= Seq("-J-Xms1024m", "-J-Xmx1024m")
3131

3232
TaskKey[Unit]("checkDockerLayers") := {
33-
val layers = (Docker / dockerLayerMappings).value.groupBy(_.layerId).withDefaultValue(Nil)
33+
val layerMappings = (Docker / dockerLayerMappings).value
34+
val layers = layerMappings.groupBy(_.layerId).withDefaultValue(Nil)
35+
36+
def printLayers: String = layerMappings.mkString("\n", "\n", "\n")
3437

3538
val layer10 = layers(Some(10))
36-
assert(layer10.isEmpty, "layer 10 should be empty because jlink is not used")
39+
assert(layer10.isEmpty, s"layer 10 should be empty because jlink is not used: $printLayers")
3740

3841
val layer20 = layers(Some(20))
3942
assert(
4043
layer20.forall(_.file.getPath.startsWith(csrCacheDirectory.value.getPath)),
41-
"layer 20 should only contain external libraries"
44+
s"layer 20 should only contain external libraries: $printLayers"
4245
)
4346
assert(
4447
layer20.exists(_.path == "/opt/docker/lib/org.typelevel.cats-core_2.13-2.13.0.jar"),
45-
"layer 20 should contain the common project's dependency"
48+
s"layer 20 should contain the common project's dependency: $printLayers"
4649
)
4750

4851
val layer30 = layers(Some(30))
49-
assert(layer30.exists(_.path == "/opt/docker/conf/application.ini"), "layer 30 should contain application.ini")
50-
assert(layer30.exists(_.path == "/opt/docker/conf/logback.xml"), "layer 30 should contain logback.xml")
52+
assert(
53+
layer30.exists(_.path == "/opt/docker/conf/application.ini"),
54+
s"layer 30 should contain application.ini: $printLayers"
55+
)
56+
assert(layer30.exists(_.path == "/opt/docker/conf/logback.xml"), s"layer 30 should contain logback.xml: $printLayers")
5157

5258
val layer40 = layers(Some(40))
5359
assert(
5460
layer40.exists(_.file == (Runtime / PlayKeys.playJarSansExternalized).value),
55-
"layer 40 should contain Play's -sans-externalized.jar"
61+
s"layer 40 should contain Play's -sans-externalized.jar: $printLayers"
5662
)
57-
assert(layer40.exists(_.file == PlayKeys.playPackageAssets.value), "layer 40 should contain Play's -assets.jar")
58-
assert(layer40.exists(_.file == packageJavaLauncherJar.value), "layer 40 should contain launcher jar")
63+
assert(
64+
layer40.exists(_.file == PlayKeys.playPackageAssets.value),
65+
s"layer 40 should contain Play's -assets.jar: $printLayers"
66+
)
67+
assert(layer40.exists(_.file == packageJavaLauncherJar.value), s"layer 40 should contain launcher jar: $printLayers")
5968
assert(
6069
layer40.exists(_.file == (common / Compile / packageBin).value),
61-
"layer 40 should contain the common project jar"
70+
s"layer 40 should contain the common project jar: $printLayers"
6271
)
6372
assert(
6473
layer40.exists(layer => makeBashScripts.value.map(_._1).contains(layer.file)),
65-
"layer 40 should contain start scripts"
74+
s"layer 40 should contain start scripts: $printLayers"
6675
)
6776

6877
val layerFinal = layers(None)
69-
assert(layerFinal.exists(_.path.startsWith("/opt/docker/share/doc/api/")), "final layer should contain API docs")
78+
assert(
79+
layerFinal.exists(_.path.startsWith("/opt/docker/share/doc/api/")),
80+
s"final layer should contain API docs: $printLayers"
81+
)
7082
}

0 commit comments

Comments
 (0)