This is an automated email from the ASF dual-hosted git repository.

drazzib pushed a commit to branch GORA-669-improve-tests-stability
in repository https://gitbox.apache.org/repos/asf/gora.git

commit 290115d7c1103d4b9013fbfa51b9542810cd3311
Author: Damien Raude-Morvan <draz...@drazzib.com>
AuthorDate: Sat Oct 31 21:30:07 2020 +0100

    GORA-669 Use LogMessageWaitStrategy
---
 .../store/AerospikeStartupLogWaitStrategy.java     | 31 ++++-----------------
 .../couchdb/CouchDBStartupLogWaitStrategy.java     | 32 +++-------------------
 .../redis/util/RedisStartupLogWaitStrategy.java    | 31 ++++-----------------
 .../store/RethinkDBStartupWaitStrategy.java        | 31 ++++-----------------
 4 files changed, 21 insertions(+), 104 deletions(-)

diff --git 
a/gora-aerospike/src/test/java/org/apache/gora/aerospike/store/AerospikeStartupLogWaitStrategy.java
 
b/gora-aerospike/src/test/java/org/apache/gora/aerospike/store/AerospikeStartupLogWaitStrategy.java
index 8b9cf5e..4881f93 100644
--- 
a/gora-aerospike/src/test/java/org/apache/gora/aerospike/store/AerospikeStartupLogWaitStrategy.java
+++ 
b/gora-aerospike/src/test/java/org/apache/gora/aerospike/store/AerospikeStartupLogWaitStrategy.java
@@ -18,36 +18,17 @@
 
 package org.apache.gora.aerospike.store;
 
-import org.testcontainers.containers.ContainerLaunchException;
-import org.testcontainers.containers.GenericContainer;
-import org.testcontainers.containers.output.OutputFrame;
-import org.testcontainers.containers.output.WaitingConsumer;
+import org.testcontainers.containers.wait.strategy.LogMessageWaitStrategy;
 
-import java.util.concurrent.TimeUnit;
-import java.util.concurrent.TimeoutException;
-import java.util.function.Predicate;
-
-public class AerospikeStartupLogWaitStrategy extends 
GenericContainer.AbstractWaitStrategy {
+public class AerospikeStartupLogWaitStrategy extends LogMessageWaitStrategy {
 
   private static final String regEx = ".*heartbeat-received: self 0 foreign 
0.*";
 
   private int times = 2;
 
-  protected void waitUntilReady() {
-    WaitingConsumer waitingConsumer = new WaitingConsumer();
-    this.container.followOutput(waitingConsumer);
-    Predicate waitPredicate = (outputFrame) -> {
-      String trimmedFrameText = ((OutputFrame) 
outputFrame).getUtf8String().replaceFirst("\n$", "");
-      return trimmedFrameText.matches(regEx);
-    };
-
-    try {
-      waitingConsumer.waitUntil(waitPredicate, 
this.startupTimeout.getSeconds(), TimeUnit.SECONDS,
-              this.times);
-    } catch (TimeoutException var4) {
-      throw new ContainerLaunchException(
-              "Timed out waiting for log output matching Aerospike server 
startup Log  \'" + regEx
-                      + "\'");
-    }
+  public AerospikeStartupLogWaitStrategy() {
+          withRegEx(regEx);
+          withTimes(times);
   }
+
 }
\ No newline at end of file
diff --git 
a/gora-couchdb/src/test/java/org/apache/gora/couchdb/CouchDBStartupLogWaitStrategy.java
 
b/gora-couchdb/src/test/java/org/apache/gora/couchdb/CouchDBStartupLogWaitStrategy.java
index 7cd06cf..6fc043d 100644
--- 
a/gora-couchdb/src/test/java/org/apache/gora/couchdb/CouchDBStartupLogWaitStrategy.java
+++ 
b/gora-couchdb/src/test/java/org/apache/gora/couchdb/CouchDBStartupLogWaitStrategy.java
@@ -18,43 +18,19 @@
 
 package org.apache.gora.couchdb;
 
-import org.testcontainers.containers.ContainerLaunchException;
-import org.testcontainers.containers.GenericContainer;
-import org.testcontainers.containers.output.OutputFrame;
-import org.testcontainers.containers.output.WaitingConsumer;
+import org.testcontainers.containers.wait.strategy.LogMessageWaitStrategy;
 
-import java.util.concurrent.TimeUnit;
-import java.util.concurrent.TimeoutException;
-import java.util.function.Predicate;
 
 /**
  * Log based CouchDB server startup wait strategy to sync server
  * startup to test suit startup.
  */
-public class CouchDBStartupLogWaitStrategy extends 
GenericContainer.AbstractWaitStrategy {
+public class CouchDBStartupLogWaitStrategy extends LogMessageWaitStrategy {
 
   private static final String regEx = ".*Apache CouchDB has started. Time to 
relax..*";
 
-  private int times = 1;
-
-  protected void waitUntilReady() {
-    WaitingConsumer waitingConsumer = new WaitingConsumer();
-    this.container.followOutput(waitingConsumer);
-    Predicate waitPredicate = (outputFrame) -> {
-      String trimmedFrameText = ((OutputFrame) outputFrame)
-              .getUtf8String()
-              .replaceFirst("\n$", "");
-      return trimmedFrameText.matches(regEx);
-    };
-
-    try {
-      waitingConsumer.waitUntil(waitPredicate, 
this.startupTimeout.getSeconds(), TimeUnit.SECONDS,
-              this.times);
-    } catch (TimeoutException var4) {
-      throw new ContainerLaunchException(
-              "Timed out waiting for log output matching CouchDB server 
startup Log  \'" + regEx
-                      + "\'");
-    }
+  public CouchDBStartupLogWaitStrategy() {
+    withRegEx(regEx);
   }
 
 }
\ No newline at end of file
diff --git 
a/gora-redis/src/test/java/org/apache/gora/redis/util/RedisStartupLogWaitStrategy.java
 
b/gora-redis/src/test/java/org/apache/gora/redis/util/RedisStartupLogWaitStrategy.java
index b9857b1..f107c1d 100755
--- 
a/gora-redis/src/test/java/org/apache/gora/redis/util/RedisStartupLogWaitStrategy.java
+++ 
b/gora-redis/src/test/java/org/apache/gora/redis/util/RedisStartupLogWaitStrategy.java
@@ -17,38 +17,19 @@
  */
 package org.apache.gora.redis.util;
 
-import java.util.concurrent.TimeUnit;
-import java.util.concurrent.TimeoutException;
-import java.util.function.Predicate;
-import org.testcontainers.containers.ContainerLaunchException;
-import org.testcontainers.containers.GenericContainer;
-import org.testcontainers.containers.output.OutputFrame;
-import org.testcontainers.containers.output.WaitingConsumer;
+import org.testcontainers.containers.wait.strategy.LogMessageWaitStrategy;
 
 /**
  * Utility class for detecting when the docker container is ready.
  */
-public class RedisStartupLogWaitStrategy extends 
GenericContainer.AbstractWaitStrategy {
+public class RedisStartupLogWaitStrategy extends LogMessageWaitStrategy {
 
   private static final String REGEX = ".*Background AOF rewrite finished 
successfully.*";
   private final int times = 3;
 
-  @Override
-  protected void waitUntilReady() {
-    WaitingConsumer waitingConsumer = new WaitingConsumer();
-    this.container.followOutput(waitingConsumer);
-    Predicate waitPredicate = (outputFrame) -> {
-      String trimmedFrameText = ((OutputFrame) 
outputFrame).getUtf8String().replaceFirst("\n$", "");
-      return trimmedFrameText.matches(REGEX);
-    };
-
-    try {
-      waitingConsumer.waitUntil(waitPredicate, 
this.startupTimeout.getSeconds(), TimeUnit.SECONDS,
-          this.times);
-    } catch (TimeoutException var4) {
-      throw new ContainerLaunchException(
-          "Timed out waiting for log output matching Redis server startup Log  
\'" + REGEX
-          + "\'");
-    }
+  public RedisStartupLogWaitStrategy() {
+    withRegEx(REGEX);
+    withTimes(times);
   }
+
 }
diff --git 
a/gora-rethinkdb/src/test/java/org/apache/gora/rethinkdb/store/RethinkDBStartupWaitStrategy.java
 
b/gora-rethinkdb/src/test/java/org/apache/gora/rethinkdb/store/RethinkDBStartupWaitStrategy.java
index 9c1939b..0425fcb 100644
--- 
a/gora-rethinkdb/src/test/java/org/apache/gora/rethinkdb/store/RethinkDBStartupWaitStrategy.java
+++ 
b/gora-rethinkdb/src/test/java/org/apache/gora/rethinkdb/store/RethinkDBStartupWaitStrategy.java
@@ -18,35 +18,14 @@
 
 package org.apache.gora.rethinkdb.store;
 
-import org.testcontainers.containers.ContainerLaunchException;
-import org.testcontainers.containers.GenericContainer;
-import org.testcontainers.containers.output.OutputFrame;
-import org.testcontainers.containers.output.WaitingConsumer;
+import org.testcontainers.containers.wait.strategy.LogMessageWaitStrategy;
 
-import java.util.concurrent.TimeUnit;
-import java.util.concurrent.TimeoutException;
-import java.util.function.Predicate;
-
-public class RethinkDBStartupWaitStrategy extends 
GenericContainer.AbstractWaitStrategy {
+public class RethinkDBStartupWaitStrategy extends LogMessageWaitStrategy {
 
   private static final String regEx = "Server ready,.*";
 
-  private int times = 1;
-
-  protected void waitUntilReady() {
-    WaitingConsumer waitingConsumer = new WaitingConsumer();
-    this.container.followOutput(waitingConsumer);
-    Predicate waitPredicate = (outputFrame) -> {
-      String trimmedFrameText = ((OutputFrame) 
outputFrame).getUtf8String().replaceFirst("\n$", "");
-      return trimmedFrameText.matches(regEx);
-    };
-
-    try {
-      waitingConsumer.waitUntil(waitPredicate, 
this.startupTimeout.getSeconds(), TimeUnit.SECONDS,
-              this.times);
-    } catch (TimeoutException var4) {
-      throw new ContainerLaunchException(
-              "Timed out waiting for log output matching RethinkDB server 
startup Log  \'" + regEx + "\'");
-    }
+  public RethinkDBStartupWaitStrategy() {
+      withRegEx(regEx);
   }
+
 }
\ No newline at end of file

Reply via email to