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

toulmean pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-tuweni.git


The following commit(s) were added to refs/heads/master by this push:
     new 2ee0f68  Add a test that checks stopping the app
     new 1c77957  Merge pull request #113 from atoulme/add_test_to_close_app
2ee0f68 is described below

commit 2ee0f68d128d5113558edb23ab33471aa88b70db
Author: Antoine Toulme <anto...@lunar-ocean.com>
AuthorDate: Thu Jul 2 17:15:02 2020 -0700

    Add a test that checks stopping the app
---
 .../org/apache/tuweni/relayer/RelayerAppTest.kt      |  7 +++++++
 .../kotlin/org/apache/tuweni/relayer/RelayerApp.kt   | 20 ++++++++++++--------
 2 files changed, 19 insertions(+), 8 deletions(-)

diff --git 
a/hobbits-relayer/src/integrationTest/kotlin/org/apache/tuweni/relayer/RelayerAppTest.kt
 
b/hobbits-relayer/src/integrationTest/kotlin/org/apache/tuweni/relayer/RelayerAppTest.kt
index a8794df..4607d8c 100644
--- 
a/hobbits-relayer/src/integrationTest/kotlin/org/apache/tuweni/relayer/RelayerAppTest.kt
+++ 
b/hobbits-relayer/src/integrationTest/kotlin/org/apache/tuweni/relayer/RelayerAppTest.kt
@@ -22,6 +22,7 @@ import org.apache.tuweni.bytes.Bytes
 import org.apache.tuweni.hobbits.HobbitsTransport
 import org.apache.tuweni.hobbits.Message
 import org.apache.tuweni.hobbits.Protocol
+import org.apache.tuweni.hobbits.Relayer
 import org.apache.tuweni.hobbits.Transport
 import org.apache.tuweni.junit.VertxExtension
 import org.apache.tuweni.junit.VertxInstance
@@ -55,4 +56,10 @@ class RelayerAppTest {
     client1.stop()
     client2.stop()
   }
+
+  @Test
+  fun testClose(@VertxInstance vertx: Vertx) {
+    val relayer = Relayer(vertx, "tcp://localhost:21000", 
"tcp://localhost:21001", {})
+    RelayerApp(vertx, relayer)
+  }
 }
diff --git 
a/hobbits-relayer/src/main/kotlin/org/apache/tuweni/relayer/RelayerApp.kt 
b/hobbits-relayer/src/main/kotlin/org/apache/tuweni/relayer/RelayerApp.kt
index d94f868..a0fea43 100644
--- a/hobbits-relayer/src/main/kotlin/org/apache/tuweni/relayer/RelayerApp.kt
+++ b/hobbits-relayer/src/main/kotlin/org/apache/tuweni/relayer/RelayerApp.kt
@@ -22,13 +22,14 @@ import org.apache.tuweni.hobbits.Relayer
 import org.bouncycastle.jce.provider.BouncyCastleProvider
 import picocli.CommandLine
 import java.security.Security
+import kotlin.system.exitProcess
 
 /**
  * Relayer application, allowing to set a relay between two hobbits endpoints.
  *
  * The relayer runs as a Java application using the main method defined herein.
  */
-class RelayerApp {
+class RelayerApp(val vertx: Vertx, val relayer: Relayer) {
   companion object {
     /**
      * Runs a relayer between two hobbits endpoints.
@@ -36,18 +37,16 @@ class RelayerApp {
     @JvmStatic
     fun main(args: Array<String>) {
       Security.addProvider(BouncyCastleProvider())
-      val opts = 
CommandLine.populateCommand<RelayerAppCommandlineArguments>(RelayerAppCommandlineArguments(),
 *args)
+      val opts = CommandLine.populateCommand(RelayerAppCommandlineArguments(), 
*args)
       if (opts.help) {
         CommandLine(opts).usage(System.out)
-        System.exit(0)
+        exitProcess(0)
       }
       val vertx = Vertx.vertx()
-      val relayer = Relayer(vertx, opts.bind, opts.to, {
-        System.out.println(it)
-      })
+      val relayer = Relayer(vertx, opts.bind, opts.to, ::println)
+      val app = RelayerApp(vertx, relayer)
       Runtime.getRuntime().addShutdownHook(Thread {
-        relayer.stop()
-        vertx.close()
+        app.close()
       })
       runBlocking {
         relayer.start()
@@ -55,4 +54,9 @@ class RelayerApp {
       }
     }
   }
+
+  fun close() {
+    relayer.stop()
+    vertx.close()
+  }
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@tuweni.apache.org
For additional commands, e-mail: commits-h...@tuweni.apache.org

Reply via email to