JAMES-2563 Moved from Junit4 Rule to Junit5 Extension, small code changes

Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/e9cbdc1f
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/e9cbdc1f
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/e9cbdc1f

Branch: refs/heads/master
Commit: e9cbdc1f9632bb0e4ec4eae6ef251bcf7c43458e
Parents: dfdc648
Author: matzepan <[email protected]>
Authored: Tue Oct 23 18:39:00 2018 +0200
Committer: Benoit Tellier <[email protected]>
Committed: Mon Oct 29 19:15:01 2018 +0700

----------------------------------------------------------------------
 .../cassandra/utils/CassandraHealthCheck.java   |  6 ++---
 .../cassandra/DockerCassandraExtension.java     | 14 +++++++-----
 .../utils/CassandraHealthCheckTest.java         | 23 ++++++++------------
 3 files changed, 21 insertions(+), 22 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/e9cbdc1f/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/utils/CassandraHealthCheck.java
----------------------------------------------------------------------
diff --git 
a/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/utils/CassandraHealthCheck.java
 
b/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/utils/CassandraHealthCheck.java
index 891f099..7023519 100644
--- 
a/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/utils/CassandraHealthCheck.java
+++ 
b/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/utils/CassandraHealthCheck.java
@@ -37,9 +37,9 @@ public class CassandraHealthCheck implements HealthCheck {
 
     private static final Logger LOGGER = 
LoggerFactory.getLogger(CassandraHealthCheck.class);
     private static final ComponentName COMPONENT_NAME = new 
ComponentName("Cassandra backend");
-    private static final String HEALTH_QUERY = "SELECT NOW() FROM 
system.local";
+    private static final String SAMPLE_QUERY = "SELECT NOW() FROM 
system.local";
 
-    private Session session;
+    private final Session session;
 
     @Inject
     public CassandraHealthCheck(Session session) {
@@ -56,7 +56,7 @@ public class CassandraHealthCheck implements HealthCheck {
         try {
             // execute a simple query to check if cassandra is responding
             // idea from: https://stackoverflow.com/questions/10246287
-            session.execute(HEALTH_QUERY);
+            session.execute(SAMPLE_QUERY);
             return Result.healthy(COMPONENT_NAME);
         } catch (Exception e) {
             LOGGER.error("Error checking cassandra backend", e);

http://git-wip-us.apache.org/repos/asf/james-project/blob/e9cbdc1f/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/DockerCassandraExtension.java
----------------------------------------------------------------------
diff --git 
a/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/DockerCassandraExtension.java
 
b/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/DockerCassandraExtension.java
index 7ad686a..8045c3a 100644
--- 
a/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/DockerCassandraExtension.java
+++ 
b/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/DockerCassandraExtension.java
@@ -39,7 +39,7 @@ public class DockerCassandraExtension implements 
BeforeAllCallback, AfterAllCall
     @Override
     public void beforeAll(ExtensionContext context) {
         cassandraContainer.start();
-        dockerCassandra = new DockerCassandra(cassandraContainer.getHost());
+        dockerCassandra = new DockerCassandra(cassandraContainer);
     }
 
     @Override
@@ -62,14 +62,18 @@ public class DockerCassandraExtension implements 
BeforeAllCallback, AfterAllCall
     }
     
     public static class DockerCassandra {
-        private final Host host;
+        private final DockerCassandraRule container;
 
-        private DockerCassandra(Host host) {
-            this.host = host;
+        private DockerCassandra(DockerCassandraRule container) {
+            this.container = container;
         }
 
         public Host getHost() {
-            return host;
+            return container.getHost();
+        }
+
+        public DockerCassandraRule getContainer() {
+            return container;
         }
     }
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/e9cbdc1f/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/utils/CassandraHealthCheckTest.java
----------------------------------------------------------------------
diff --git 
a/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/utils/CassandraHealthCheckTest.java
 
b/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/utils/CassandraHealthCheckTest.java
index bff49df..373353c 100644
--- 
a/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/utils/CassandraHealthCheckTest.java
+++ 
b/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/utils/CassandraHealthCheckTest.java
@@ -19,28 +19,23 @@
 
 package org.apache.james.backends.cassandra.utils;
 
-import org.apache.james.backends.cassandra.*;
+import org.apache.james.backends.cassandra.CassandraCluster;
+import org.apache.james.backends.cassandra.DockerCassandraExtension;
 import org.apache.james.backends.cassandra.components.CassandraModule;
 import org.apache.james.core.healthcheck.Result;
-
-import org.junit.ClassRule;
-import org.junit.Rule;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.ExtendWith;
-import org.junit.jupiter.api.extension.RegisterExtension;
 
 import static org.assertj.core.api.Assertions.assertThat;
 
+@ExtendWith(DockerCassandraExtension.class)
 public class CassandraHealthCheckTest {
 
-    @Rule
-    public DockerCassandraRule cassandraServer = new DockerCassandraRule();
-
     private CassandraHealthCheck healthCheck;
 
     @BeforeEach
-    void setUp() {
+    void setUp(DockerCassandraExtension.DockerCassandra cassandraServer) {
         CassandraCluster cassandra = 
CassandraCluster.create(CassandraModule.builder().build(), 
cassandraServer.getHost());
         healthCheck = new CassandraHealthCheck(cassandra.getConf());
     }
@@ -53,8 +48,8 @@ public class CassandraHealthCheckTest {
     }
 
     @Test
-    void checkShouldReturnUnhealthyWhenCassandraIsNotRunning() {
-        cassandraServer.pause();
+    void 
checkShouldReturnUnhealthyWhenCassandraIsNotRunning(DockerCassandraExtension.DockerCassandra
 cassandraServer) {
+        cassandraServer.getContainer().pause();
 
         Result check = healthCheck.check();
 
@@ -62,12 +57,12 @@ public class CassandraHealthCheckTest {
     }
 
     @Test
-    void checkShouldDetectWhenCassandraRecovered() {
-        cassandraServer.pause();
+    void 
checkShouldDetectWhenCassandraRecovered(DockerCassandraExtension.DockerCassandra
 cassandraServer) {
+        cassandraServer.getContainer().pause();
 
         healthCheck.check();
 
-        cassandraServer.unpause();
+        cassandraServer.getContainer().unpause();
 
         Result check = healthCheck.check();
 


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to