diff --git a/src/main/java/io/ebean/test/containers/Localstack2Container.java b/src/main/java/io/ebean/test/containers/Localstack2Container.java index 5a44224..4df8608 100644 --- a/src/main/java/io/ebean/test/containers/Localstack2Container.java +++ b/src/main/java/io/ebean/test/containers/Localstack2Container.java @@ -11,9 +11,9 @@ * *
{@code
*
- * Localstack2Container container = Localstack2Container.builder("0.14")
+ * Localstack2Container container = Localstack2Container.builder("4.0.3")
* // .port(4566)
- * // .image("localstack/localstack:0.14")
+ * // .image("localstack/localstack:4.0.3")
* .build();
*
* container.start();
@@ -46,10 +46,11 @@ public static class Builder extends BaseBuilder {
private String services = "dynamodb";
private String awsRegion = "ap-southeast-2";
+ private String healthUri = "_localstack/health";
private String startWeb;
/**
- * Create with a version of localstack/localstack (example, 0.14)
+ * Create with a version of localstack/localstack (example, 4.0.3)
*/
private Builder(String version) {
super("localstack", 4566, 4566, version);
@@ -62,6 +63,7 @@ protected void extraProperties(Properties properties) {
services = prop(properties, "services", services);
awsRegion = prop(properties, "awsRegion", awsRegion);
startWeb = prop(properties, "startWeb", startWeb);
+ healthUri = prop(properties, "healthUri", healthUri);
}
/**
@@ -90,6 +92,14 @@ public Builder startWeb(String startWeb) {
return self();
}
+ /**
+ * Set the healthUri option - defaults to _localstack/health.
+ */
+ public Builder healthUri(String healthUri) {
+ this.healthUri = healthUri;
+ return self();
+ }
+
/**
* Build and return the LocalstackContainer to then start().
*/
@@ -107,6 +117,7 @@ public Localstack2Container start() {
private final String services;
private final String awsRegion;
private final String startWeb;
+ private final String healthUri;
/**
* Create the container using the given config.
@@ -116,11 +127,12 @@ public Localstack2Container(Localstack2Container.Builder builder) {
this.services = builder.services;
this.awsRegion = builder.awsRegion;
this.startWeb = builder.startWeb;
+ this.healthUri = builder.healthUri;
this.serviceNames = TrimSplit.split(services);
}
private String healthUrl() {
- return String.format("http://%s:%s/health", config.getHost(), config.getPort());
+ return String.format("http://%s:%s/%s", config.getHost(), config.getPort(), healthUri);
}
/**
diff --git a/src/main/java/io/ebean/test/containers/LocalstackContainer.java b/src/main/java/io/ebean/test/containers/LocalstackContainer.java
index a75c064..51c8772 100644
--- a/src/main/java/io/ebean/test/containers/LocalstackContainer.java
+++ b/src/main/java/io/ebean/test/containers/LocalstackContainer.java
@@ -16,9 +16,9 @@
*
* {@code
*
- * LocalstackContainer container = LocalstackContainer.builder("0.14")
+ * LocalstackContainer container = LocalstackContainer.builder("4.0.3")
* // .port(4566)
- * // .image("localstack/localstack:0.14")
+ * // .image("localstack/localstack:4.0.3")
* .build();
*
* container.start();
@@ -58,10 +58,11 @@ public static class Builder extends BaseBuilder {
private String services = "dynamodb";
private String awsRegion = "ap-southeast-2";
+ private String healthUri = "_localstack/health";
private String startWeb;// = "0";
/**
- * Create with a version of localstack/localstack (example, 0.14)
+ * Create with a version of localstack/localstack (example, 4.0.3)
*/
private Builder(String version) {
super("localstack", 4566, 4566, version);
@@ -74,6 +75,7 @@ protected void extraProperties(Properties properties) {
services = prop(properties, "services", services);
awsRegion = prop(properties, "awsRegion", awsRegion);
startWeb = prop(properties, "startWeb", startWeb);
+ healthUri = prop(properties, "healthUri", healthUri);
}
/**
@@ -102,6 +104,14 @@ public Builder startWeb(String startWeb) {
return self();
}
+ /**
+ * Set the healthUri option - defaults to _localstack/health.
+ */
+ public Builder healthUri(String healthUri) {
+ this.healthUri = healthUri;
+ return self();
+ }
+
/**
* Build and return the LocalstackContainer to then start().
*/
@@ -119,6 +129,7 @@ public LocalstackContainer start() {
private final String services;
private final String awsRegion;
private final String startWeb;
+ private final String healthUri;
/**
* Create the container using the given config.
@@ -128,11 +139,12 @@ public LocalstackContainer(LocalstackContainer.Builder builder) {
this.services = builder.services;
this.awsRegion = builder.awsRegion;
this.startWeb = builder.startWeb;
+ this.healthUri = builder.healthUri;
this.serviceNames = TrimSplit.split(services);
}
private String healthUrl() {
- return String.format("http://%s:%s/health", config.getHost(), config.getPort());
+ return String.format("http://%s:%s/%s", config.getHost(), config.getPort(), healthUri);
}
/**
diff --git a/src/main/java/io/ebean/test/containers/LocalstackSdkV2.java b/src/main/java/io/ebean/test/containers/LocalstackSdkV2.java
index 3a1fa6e..3d5c5aa 100644
--- a/src/main/java/io/ebean/test/containers/LocalstackSdkV2.java
+++ b/src/main/java/io/ebean/test/containers/LocalstackSdkV2.java
@@ -70,7 +70,7 @@ public S3Client s3Client() {
@Override
public Region region() {
- return Region.of(awsRegion);
+ return awsRegion == null ? null : Region.of(awsRegion);
}
@Override
diff --git a/src/test/java/io/ebean/test/containers/LocalstackContainerV2Test.java b/src/test/java/io/ebean/test/containers/LocalstackContainerV2Test.java
index d216dbe..c739405 100644
--- a/src/test/java/io/ebean/test/containers/LocalstackContainerV2Test.java
+++ b/src/test/java/io/ebean/test/containers/LocalstackContainerV2Test.java
@@ -27,12 +27,12 @@ class LocalstackContainerV2Test {
@Disabled
@Test
void start_viaBuilder() {
- Localstack2Container container = Localstack2Container.builder("0.14.4")
+ Localstack2Container container = Localstack2Container.builder("4.0.3")
.awsRegion("ap-southeast-2")
.services("dynamodb,kinesis,sns,sqs,s3")
//.port(4567)
.containerName("ut_localstack_dkss2")
- .image("localstack/localstack:0.14.4")
+ .image("localstack/localstack:4.0.3")
.port(4577)
.build();