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();