Skip to content

Commit 8e0eef1

Browse files
committed
Add oci image definition, use it in integration tests
1 parent 4ab3d8f commit 8e0eef1

File tree

4 files changed

+46
-23
lines changed

4 files changed

+46
-23
lines changed

build.gradle.kts

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,32 @@ oci {
3636
optionalCredentials()
3737
}
3838
}
39+
imageMapping {
40+
mapModule("com.hivemq", "hivemq-community-edition") {
41+
toImage("hivemq/hivemq-ce")
42+
}
43+
}
44+
imageDefinitions.register("main") {
45+
allPlatforms {
46+
dependencies {
47+
runtime("com.hivemq:hivemq-community-edition:latest") { isChanging = true }
48+
}
49+
config {
50+
ports = setOf("9090")
51+
}
52+
layers {
53+
layer("hivemqExtension") {
54+
contents {
55+
permissions("opt/hivemq/", 0b111_111_000)
56+
permissions("opt/hivemq/extensions/", 0b111_111_000)
57+
into("opt/hivemq/extensions") {
58+
from(zipTree(tasks.hivemqExtensionZip.flatMap { it.archiveFile }))
59+
}
60+
}
61+
}
62+
}
63+
}
64+
}
3965
}
4066

4167
@Suppress("UnstableApiUsage")
@@ -62,7 +88,7 @@ testing {
6288
}
6389
oci.of(this) {
6490
imageDependencies {
65-
runtime("hivemq:hivemq-ce:latest") { isChanging = true }
91+
runtime(project).tag("latest")
6692
}
6793
}
6894
}

src/integrationTest/java/com/hivemq/extensions/heartbeat/CustomConfigIT.java

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -41,14 +41,13 @@
4141
class CustomConfigIT {
4242

4343
@Container
44-
final @NotNull HiveMQContainer hivemq = new HiveMQContainer(OciImages.getImageName("hivemq/hivemq-ce")) //
45-
.withExtension(MountableFile.forClasspathResource("hivemq-heartbeat-extension"))
46-
.waitForExtension("HiveMQ Heartbeat Extension")
47-
.withExposedPorts(9191)
48-
.withFileInExtensionHomeFolder(MountableFile.forClasspathResource("extension-config.xml"),
49-
"hivemq-heartbeat-extension",
50-
"/extension-config.xml")
51-
.withLogConsumer(outputFrame -> System.out.print("HiveMQ: " + outputFrame.getUtf8String()));
44+
final @NotNull HiveMQContainer hivemq =
45+
new HiveMQContainer(OciImages.getImageName("hivemq/extensions/hivemq-heartbeat-extension")
46+
.asCompatibleSubstituteFor("hivemq/hivemq-ce")) //
47+
.withExposedPorts(9191)
48+
.withCopyToContainer(MountableFile.forClasspathResource("extension-config.xml"),
49+
"/opt/hivemq/extensions/hivemq-heartbeat-extension/extension-config.xml")
50+
.withLogConsumer(outputFrame -> System.out.print("HiveMQ: " + outputFrame.getUtf8String()));
5251

5352
@Test
5453
@Timeout(value = 2, unit = TimeUnit.MINUTES)

src/integrationTest/java/com/hivemq/extensions/heartbeat/DefaultConfigIT.java

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@
2626
import org.testcontainers.hivemq.HiveMQContainer;
2727
import org.testcontainers.junit.jupiter.Container;
2828
import org.testcontainers.junit.jupiter.Testcontainers;
29-
import org.testcontainers.utility.MountableFile;
3029

3130
import java.util.concurrent.TimeUnit;
3231

@@ -41,11 +40,11 @@
4140
class DefaultConfigIT {
4241

4342
@Container
44-
final @NotNull HiveMQContainer hivemq = new HiveMQContainer(OciImages.getImageName("hivemq/hivemq-ce")) //
45-
.withExtension(MountableFile.forClasspathResource("hivemq-heartbeat-extension"))
46-
.waitForExtension("HiveMQ Heartbeat Extension")
47-
.withExposedPorts(9090)
48-
.withLogConsumer(outputFrame -> System.out.print("HiveMQ: " + outputFrame.getUtf8String()));
43+
final @NotNull HiveMQContainer hivemq =
44+
new HiveMQContainer(OciImages.getImageName("hivemq/extensions/hivemq-heartbeat-extension")
45+
.asCompatibleSubstituteFor("hivemq/hivemq-ce")) //
46+
.withExposedPorts(9090)
47+
.withLogConsumer(outputFrame -> System.out.print("HiveMQ: " + outputFrame.getUtf8String()));
4948

5049
@Test
5150
@Timeout(value = 2, unit = TimeUnit.MINUTES)

src/integrationTest/java/com/hivemq/extensions/heartbeat/FallbackToDefaultsIT.java

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -41,14 +41,13 @@
4141
class FallbackToDefaultsIT {
4242

4343
@Container
44-
final @NotNull HiveMQContainer hivemq = new HiveMQContainer(OciImages.getImageName("hivemq/hivemq-ce")) //
45-
.withExtension(MountableFile.forClasspathResource("hivemq-heartbeat-extension"))
46-
.waitForExtension("HiveMQ Heartbeat Extension")
47-
.withExposedPorts(9090)
48-
.withFileInExtensionHomeFolder(MountableFile.forClasspathResource("broken-config.xml"),
49-
"hivemq-heartbeat-extension",
50-
"/extension-config.xml")
51-
.withLogConsumer(outputFrame -> System.out.print("HiveMQ: " + outputFrame.getUtf8String()));
44+
final @NotNull HiveMQContainer hivemq =
45+
new HiveMQContainer(OciImages.getImageName("hivemq/extensions/hivemq-heartbeat-extension")
46+
.asCompatibleSubstituteFor("hivemq/hivemq-ce")) //
47+
.withExposedPorts(9090)
48+
.withCopyToContainer(MountableFile.forClasspathResource("broken-config.xml"),
49+
"/opt/hivemq/extensions/hivemq-heartbeat-extension/extension-config.xml")
50+
.withLogConsumer(outputFrame -> System.out.print("HiveMQ: " + outputFrame.getUtf8String()));
5251

5352
@Test
5453
@Timeout(value = 2, unit = TimeUnit.MINUTES)

0 commit comments

Comments
 (0)