diff --git a/test/dorkboxTest/network/AeronServer.kt b/test/dorkboxTest/network/AeronServer.kt index f49275d7..abf4b603 100644 --- a/test/dorkboxTest/network/AeronServer.kt +++ b/test/dorkboxTest/network/AeronServer.kt @@ -63,7 +63,6 @@ object AeronServer { configuration.listenIpAddress = "127.0.0.1" configuration.subscriptionPort = 2000 configuration.publicationPort = 2001 - configuration.clientStartPort = 2500 configuration.maxClientCount = 5 configuration.maxConnectionsPerIpAddress = 5 diff --git a/test/dorkboxTest/network/BaseTest.kt b/test/dorkboxTest/network/BaseTest.kt index 7c4f4c94..202abe45 100644 --- a/test/dorkboxTest/network/BaseTest.kt +++ b/test/dorkboxTest/network/BaseTest.kt @@ -56,6 +56,40 @@ abstract class BaseTest { companion object { const val LOOPBACK = "loopback" + init { + println("---- " + javaClass.simpleName) + + // assume SLF4J is bound to logback in the current environment + val rootLogger = LoggerFactory.getLogger(org.slf4j.Logger.ROOT_LOGGER_NAME) as Logger + val context = rootLogger.loggerContext + val jc = JoranConfigurator() + jc.context = context + context.reset() // override default configuration + +// rootLogger.setLevel(Level.OFF); + + rootLogger.level = Level.INFO; +// rootLogger.level = Level.DEBUG +// rootLogger.level = Level.TRACE; +// rootLogger.level = Level.ALL; + + + // we only want error messages + val kryoLogger = LoggerFactory.getLogger("com.esotericsoftware") as Logger + kryoLogger.level = Level.ERROR + + + val encoder = PatternLayoutEncoder() + encoder.context = context + encoder.pattern = "%date{HH:mm:ss.SSS} %-5level [%logger{35}] %msg%n" + encoder.start() + val consoleAppender = ConsoleAppender() + consoleAppender.context = context + consoleAppender.encoder = encoder + consoleAppender.start() + rootLogger.addAppender(consoleAppender) + } + fun clientConfig(): Configuration { val configuration = Configuration() configuration.subscriptionPort = 2000 @@ -71,7 +105,6 @@ abstract class BaseTest { configuration.subscriptionPort = 2000 configuration.publicationPort = 2001 - configuration.clientStartPort = 2500 configuration.maxClientCount = 5 configuration.maxConnectionsPerIpAddress = 5 @@ -200,47 +233,4 @@ abstract class BaseTest { } catch (ignored: InterruptedException) { } } - - init { - println("---- " + javaClass.simpleName) - - // assume SLF4J is bound to logback in the current environment - val rootLogger = LoggerFactory.getLogger(org.slf4j.Logger.ROOT_LOGGER_NAME) as Logger - val context = rootLogger.loggerContext - val jc = JoranConfigurator() - jc.context = context - context.reset() // override default configuration - -// rootLogger.setLevel(Level.OFF); - -// rootLogger.level = Level.INFO; - rootLogger.level = Level.DEBUG -// rootLogger.level = Level.TRACE; -// rootLogger.level = Level.ALL; - - - // serialization error logs/etc - (LoggerFactory.getLogger("Client.SERIAL") as Logger).level = Level.ERROR - (LoggerFactory.getLogger("Server.SERIAL") as Logger).level = Level.ERROR - - - // we only want error messages - val nettyLogger = LoggerFactory.getLogger("io.netty") as Logger - nettyLogger.level = Level.ERROR - - // we only want error messages - val kryoLogger = LoggerFactory.getLogger("com.esotericsoftware") as Logger - kryoLogger.level = Level.ERROR - - - val encoder = PatternLayoutEncoder() - encoder.context = context - encoder.pattern = "%date{HH:mm:ss.SSS} %-5level [%logger{35}] %msg%n" - encoder.start() - val consoleAppender = ConsoleAppender() - consoleAppender.context = context - consoleAppender.encoder = encoder - consoleAppender.start() - rootLogger.addAppender(consoleAppender) - } } diff --git a/test/dorkboxTest/network/ListenerTest.kt b/test/dorkboxTest/network/ListenerTest.kt index a6349856..0df05b5b 100644 --- a/test/dorkboxTest/network/ListenerTest.kt +++ b/test/dorkboxTest/network/ListenerTest.kt @@ -22,8 +22,7 @@ package dorkboxTest.network import dorkbox.network.Client import dorkbox.network.Server import dorkbox.network.connection.Connection -import dorkbox.network.connection.EndPoint -import dorkbox.network.connection.MediaDriverConnection +import dorkbox.network.connection.ConnectionParams import dorkbox.util.exceptions.InitializationException import dorkbox.util.exceptions.SecurityException import kotlinx.coroutines.runBlocking @@ -42,13 +41,15 @@ class ListenerTest : BaseTest() { var overrideCheck = AtomicBoolean(false) var serverOnMessage = AtomicBoolean(false) + var serverConnectionOnMessage = AtomicBoolean(false) + var serverDisconnectMessage = AtomicBoolean(false) var serverConnect = AtomicBoolean(false) var serverDisconnect = AtomicBoolean(false) var clientConnect = AtomicBoolean(false) var clientDisconnect = AtomicBoolean(false) // quick and dirty test to also test connection sub-classing - internal open inner class TestConnectionA(endPointConnection: EndPoint, driverConnection: MediaDriverConnection) : Connection(endPointConnection, driverConnection) { + internal open inner class TestConnectionA(connectionParameters: ConnectionParams) : Connection(connectionParameters) { open fun check() { overrideCheck.set(true) } @@ -59,8 +60,8 @@ class ListenerTest : BaseTest() { fun listener() { val server: Server = object : Server( serverConfig()) { - override fun newConnection(endPoint: EndPoint, mediaDriverConnection: MediaDriverConnection): TestConnectionA { - return TestConnectionA(endPoint, mediaDriverConnection) + override fun newConnection(connectionParameters: ConnectionParams): TestConnectionA { + return TestConnectionA(connectionParameters) } } addEndPoint(server) @@ -79,8 +80,15 @@ class ListenerTest : BaseTest() { } // standard connect check - server.onConnect { + server.onConnect { connection -> serverConnect.set(true) + connection.onMessage {_, _ -> + serverConnectionOnMessage.set(true) + } + + connection.onDisconnect { _ -> + serverDisconnectMessage.set(true) + } } // standard listener disconnect check @@ -97,8 +105,8 @@ class ListenerTest : BaseTest() { // ---- val client: Client = object : Client( clientConfig()) { - override fun newConnection(endPoint: EndPoint, mediaDriverConnection: MediaDriverConnection): TestConnectionA { - return TestConnectionA(endPoint, mediaDriverConnection) + override fun newConnection(connectionParameters: ConnectionParams): TestConnectionA { + return TestConnectionA(connectionParameters) } } addEndPoint(client) @@ -145,6 +153,8 @@ class ListenerTest : BaseTest() { Assert.assertEquals(limit.toLong(), count.get() - 1.toLong()) Assert.assertTrue(overrideCheck.get()) Assert.assertTrue(serverOnMessage.get()) + Assert.assertTrue(serverConnectionOnMessage.get()) + Assert.assertTrue(serverDisconnectMessage.get()) Assert.assertTrue(serverConnect.get()) Assert.assertTrue(serverDisconnect.get()) Assert.assertTrue(clientConnect.get()) diff --git a/test/dorkboxTest/network/MultipleServerTest.kt b/test/dorkboxTest/network/MultipleServerTest.kt index 3c0b3b86..d3e9dfbc 100644 --- a/test/dorkboxTest/network/MultipleServerTest.kt +++ b/test/dorkboxTest/network/MultipleServerTest.kt @@ -51,7 +51,6 @@ class MultipleServerTest : BaseTest() { val configuration = serverConfig() configuration.subscriptionPort += offset configuration.publicationPort += offset - configuration.clientStartPort += configuration.maxClientCount * offset configuration.aeronLogDirectory = serverAeronDir val server: Server = Server(configuration) @@ -64,6 +63,7 @@ class MultipleServerTest : BaseTest() { didReceive[count].set(true) if (received.incrementAndGet() == total) { + println("Done, stopping endpoints") stopEndPoints() } }