This is an automated email from the ASF dual-hosted git repository. ppalaga pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git
The following commit(s) were added to refs/heads/master by this push: new b69c772 lumberjack : move client payload sending to test fixes #1949 b69c772 is described below commit b69c7726a8058475c58a45f304ea844910e1fa15 Author: Zineb Bendhiba <bendhiba.zi...@gmail.com> AuthorDate: Thu Oct 22 14:09:30 2020 +0200 lumberjack : move client payload sending to test fixes #1949 --- integration-tests/lumberjack/pom.xml | 8 +-- .../lumberjack/it/LumberjackResource.java | 60 +++++++++---------- .../lumberjack/it/LumberjackResponse.java | 12 +--- .../component/lumberjack/it/LumberjackRoutes.java | 39 ++++++++++--- .../lumberjack/it/LumberjackSslService.java | 64 --------------------- .../lumberjack/it/LumberjackAckResponse.java | 64 +++++++++++++++++++++ .../lumberjack/it/LumberjackClientUtil.java} | 64 +++++++++------------ .../component/lumberjack/it/LumberjackTest.java | 52 +++++++++++++---- .../src/{main => test}/resources/io/window10.bin | Bin .../src/{main => test}/resources/io/window15.bin | Bin 10 files changed, 194 insertions(+), 169 deletions(-) diff --git a/integration-tests/lumberjack/pom.xml b/integration-tests/lumberjack/pom.xml index dd6cdd5..9b48587 100644 --- a/integration-tests/lumberjack/pom.xml +++ b/integration-tests/lumberjack/pom.xml @@ -53,7 +53,7 @@ </dependency> <dependency> <groupId>org.apache.camel.quarkus</groupId> - <artifactId>camel-quarkus-bean</artifactId> + <artifactId>camel-quarkus-mock</artifactId> </dependency> <dependency> <groupId>io.quarkus</groupId> @@ -80,7 +80,7 @@ <!-- The following dependencies guarantee that this module is built after them. You can update them by running `mvn process-resources -Pformat -N` from the source tree root directory --> <dependency> <groupId>org.apache.camel.quarkus</groupId> - <artifactId>camel-quarkus-bean-deployment</artifactId> + <artifactId>camel-quarkus-lumberjack-deployment</artifactId> <version>${project.version}</version> <type>pom</type> <scope>test</scope> @@ -91,11 +91,9 @@ </exclusion> </exclusions> </dependency> - - <!-- The following dependencies guarantee that this module is built after them. You can update them by running `mvn process-resources -Pformat -N` from the source tree root directory --> <dependency> <groupId>org.apache.camel.quarkus</groupId> - <artifactId>camel-quarkus-lumberjack-deployment</artifactId> + <artifactId>camel-quarkus-mock-deployment</artifactId> <version>${project.version}</version> <type>pom</type> <scope>test</scope> diff --git a/integration-tests/lumberjack/src/main/java/org/apache/camel/quarkus/component/lumberjack/it/LumberjackResource.java b/integration-tests/lumberjack/src/main/java/org/apache/camel/quarkus/component/lumberjack/it/LumberjackResource.java index 27b1f2e..f694bca 100644 --- a/integration-tests/lumberjack/src/main/java/org/apache/camel/quarkus/component/lumberjack/it/LumberjackResource.java +++ b/integration-tests/lumberjack/src/main/java/org/apache/camel/quarkus/component/lumberjack/it/LumberjackResource.java @@ -17,6 +17,8 @@ package org.apache.camel.quarkus.component.lumberjack.it; import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; import javax.enterprise.context.ApplicationScoped; import javax.inject.Inject; @@ -25,7 +27,8 @@ import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; -import org.eclipse.microprofile.config.inject.ConfigProperty; +import org.apache.camel.CamelContext; +import org.apache.camel.component.mock.MockEndpoint; import org.jboss.logging.Logger; @Path("/lumberjack") @@ -34,46 +37,43 @@ public class LumberjackResource { private static final Logger LOG = Logger.getLogger(LumberjackResource.class); - @ConfigProperty(name = "camel.lumberjack.ssl.test-port") - Integer sslPort; - @ConfigProperty(name = "camel.lumberjack.ssl.none.test-port") - Integer noSslPort; - @ConfigProperty(name = "camel.lumberjack.ssl.global.test-port") - Integer globalSslPort; - - @Inject - LumberjackService lumberjackService; @Inject - LumberjackSslService sslService; + CamelContext context; - @Path("ssl/none") + @Path("results/ssl/none") @GET @Produces(MediaType.APPLICATION_JSON) - public LumberjackResponse sendWithoutSsl() throws InterruptedException { - LOG.infof("sending messages without SSL mode on port %s", noSslPort); - List<Integer> responses = lumberjackService.sendMessages(noSslPort, null); - LOG.infof("getting responses %s", responses); - return new LumberjackResponse(responses, lumberjackService.getLogs()); + public LumberjackResponse getMessagesOfWithoutSsl() throws InterruptedException { + return getLumberjackResponse(LumberjackRoutes.MOCK_ENDPOINT_WITHOUT_SSL); } - @Path("ssl/route") + @Path("results/ssl/route") @GET @Produces(MediaType.APPLICATION_JSON) - public LumberjackResponse sendWithSsl() throws InterruptedException { - LOG.infof("sending messages with SSL on port %s", sslPort); - List<Integer> responses = lumberjackService.sendMessages(sslPort, sslService.createClientSSLContextParameters()); - LOG.infof("getting responses %s", responses); - return new LumberjackResponse(responses, lumberjackService.getLogs()); + public LumberjackResponse getMessagesOfWithSsl() throws InterruptedException { + return getLumberjackResponse(LumberjackRoutes.MOCK_ENDPOINT_WITH_SSL); } - @Path("ssl/global") + @Path("results/ssl/global") @GET @Produces(MediaType.APPLICATION_JSON) - public LumberjackResponse sendWithGlobalSsl() throws InterruptedException { - LOG.infof("sending messages with Global SSL mode on port %s", globalSslPort); - List<Integer> responses = lumberjackService.sendMessages(globalSslPort, - sslService.createClientSSLContextParameters()); - LOG.infof("getting responses %s", responses); - return new LumberjackResponse(responses, lumberjackService.getLogs()); + public LumberjackResponse getMessagesOfWithGlobalSsl() throws InterruptedException { + return getLumberjackResponse(LumberjackRoutes.MOCK_ENDPOINT_WITH_GLOBAL_SSL); + } + + private LumberjackResponse getLumberjackResponse(String endpointName) { + LOG.infof("getting response from mock endpoint %s", endpointName); + MockEndpoint mockEndpoint = context.getEndpoint(endpointName, MockEndpoint.class); + return new LumberjackResponse(extractDataFromMock(mockEndpoint)); + } + + private List<Map<String, Map>> extractDataFromMock(MockEndpoint mockEndpoint) { + List<Map<String, Map>> data = mockEndpoint.getReceivedExchanges().stream().sequential() + .map(exchange -> { + Map<String, Map> map = exchange.getIn().getBody(Map.class); + return map; + }) + .collect(Collectors.toList()); + return data; } } diff --git a/integration-tests/lumberjack/src/main/java/org/apache/camel/quarkus/component/lumberjack/it/LumberjackResponse.java b/integration-tests/lumberjack/src/main/java/org/apache/camel/quarkus/component/lumberjack/it/LumberjackResponse.java index 673f667..477f7ed 100644 --- a/integration-tests/lumberjack/src/main/java/org/apache/camel/quarkus/component/lumberjack/it/LumberjackResponse.java +++ b/integration-tests/lumberjack/src/main/java/org/apache/camel/quarkus/component/lumberjack/it/LumberjackResponse.java @@ -20,22 +20,12 @@ import java.util.List; import java.util.Map; public class LumberjackResponse { - List<Integer> windowSizes; List<Map<String, Map>> logs; - public LumberjackResponse(List<Integer> windowSizes, List<Map<String, Map>> logs) { - this.windowSizes = windowSizes; + public LumberjackResponse(List<Map<String, Map>> logs) { this.logs = logs; } - public List<Integer> getWindowSizes() { - return windowSizes; - } - - public void setWindowSizes(List<Integer> windowSizes) { - this.windowSizes = windowSizes; - } - public List<Map<String, Map>> getLogs() { return logs; } diff --git a/integration-tests/lumberjack/src/main/java/org/apache/camel/quarkus/component/lumberjack/it/LumberjackRoutes.java b/integration-tests/lumberjack/src/main/java/org/apache/camel/quarkus/component/lumberjack/it/LumberjackRoutes.java index a744974..600f669 100644 --- a/integration-tests/lumberjack/src/main/java/org/apache/camel/quarkus/component/lumberjack/it/LumberjackRoutes.java +++ b/integration-tests/lumberjack/src/main/java/org/apache/camel/quarkus/component/lumberjack/it/LumberjackRoutes.java @@ -17,18 +17,23 @@ package org.apache.camel.quarkus.component.lumberjack.it; import javax.enterprise.context.ApplicationScoped; -import javax.inject.Inject; import javax.inject.Named; import javax.ws.rs.Produces; import io.quarkus.arc.Unremovable; import org.apache.camel.builder.RouteBuilder; import org.apache.camel.component.lumberjack.LumberjackComponent; +import org.apache.camel.support.jsse.KeyManagersParameters; +import org.apache.camel.support.jsse.KeyStoreParameters; import org.apache.camel.support.jsse.SSLContextParameters; import org.eclipse.microprofile.config.inject.ConfigProperty; public class LumberjackRoutes extends RouteBuilder { + public static final String MOCK_ENDPOINT_WITHOUT_SSL = "mock:none"; + public static final String MOCK_ENDPOINT_WITH_SSL = "mock:ssl"; + public static final String MOCK_ENDPOINT_WITH_GLOBAL_SSL = "mock:global"; + @ConfigProperty(name = "camel.lumberjack.ssl.test-port") Integer sslPort; @ConfigProperty(name = "camel.lumberjack.ssl.none.test-port") @@ -36,9 +41,6 @@ public class LumberjackRoutes extends RouteBuilder { @ConfigProperty(name = "camel.lumberjack.ssl.global.test-port") Integer globalSslPort; - @Inject - LumberjackSslService sslService; - /** * We need to implement some conditional configuration of the {@link LumberjackComponent} thus we create it * programmatically and publish via CDI. @@ -53,28 +55,47 @@ public class LumberjackRoutes extends RouteBuilder { final LumberjackComponent lumberjackComponent = new LumberjackComponent(); lumberjackComponent.setCamelContext(getContext()); lumberjackComponent.setUseGlobalSslContextParameters(true); - lumberjackComponent.setSslContextParameters(sslService.createServerSSLContextParameters()); + lumberjackComponent.setSslContextParameters(createServerSSLContextParameters()); return lumberjackComponent; } @Produces @Named("ssl") SSLContextParameters ssl() { - return sslService.createServerSSLContextParameters(); + return createServerSSLContextParameters(); } @Override public void configure() throws Exception { // Route without SSL from(String.format("lumberjack:0.0.0.0:%s", noSslPort)) - .bean(LumberjackService.class, "addLog"); + .to(MOCK_ENDPOINT_WITHOUT_SSL); // Route with SSL from(String.format("lumberjack:0.0.0.0:%s?sslContextParameters=#ssl", sslPort)) - .bean(LumberjackService.class, "addLog"); + .to(MOCK_ENDPOINT_WITH_SSL); // Route with global SSL from(String.format("lumberjack-global-ssl:0.0.0.0:%s", globalSslPort)) - .bean(LumberjackService.class, "addLog"); + .to(MOCK_ENDPOINT_WITH_GLOBAL_SSL); + } + + /** + * Creates SSL Context Parameters for the server + * + * @return + */ + public SSLContextParameters createServerSSLContextParameters() { + SSLContextParameters sslContextParameters = new SSLContextParameters(); + + KeyManagersParameters keyManagersParameters = new KeyManagersParameters(); + KeyStoreParameters keyStore = new KeyStoreParameters(); + keyStore.setPassword("changeit"); + keyStore.setResource("ssl/keystore.jks"); + keyManagersParameters.setKeyPassword("changeit"); + keyManagersParameters.setKeyStore(keyStore); + sslContextParameters.setKeyManagers(keyManagersParameters); + + return sslContextParameters; } } diff --git a/integration-tests/lumberjack/src/main/java/org/apache/camel/quarkus/component/lumberjack/it/LumberjackSslService.java b/integration-tests/lumberjack/src/main/java/org/apache/camel/quarkus/component/lumberjack/it/LumberjackSslService.java deleted file mode 100644 index 470fd5d..0000000 --- a/integration-tests/lumberjack/src/main/java/org/apache/camel/quarkus/component/lumberjack/it/LumberjackSslService.java +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.camel.quarkus.component.lumberjack.it; - -import javax.enterprise.context.ApplicationScoped; - -import org.apache.camel.support.jsse.KeyManagersParameters; -import org.apache.camel.support.jsse.KeyStoreParameters; -import org.apache.camel.support.jsse.SSLContextParameters; -import org.apache.camel.support.jsse.TrustManagersParameters; - -@ApplicationScoped -public class LumberjackSslService { - /** - * Creates SSL Context Parameters for the server - * - * @return - */ - public SSLContextParameters createServerSSLContextParameters() { - SSLContextParameters sslContextParameters = new SSLContextParameters(); - - KeyManagersParameters keyManagersParameters = new KeyManagersParameters(); - KeyStoreParameters keyStore = new KeyStoreParameters(); - keyStore.setPassword("changeit"); - keyStore.setResource("ssl/keystore.jks"); - keyManagersParameters.setKeyPassword("changeit"); - keyManagersParameters.setKeyStore(keyStore); - sslContextParameters.setKeyManagers(keyManagersParameters); - - return sslContextParameters; - } - - /** - * Creates SSL Context Parameters for the client - * - * @return - */ - public SSLContextParameters createClientSSLContextParameters() { - SSLContextParameters sslContextParameters = new SSLContextParameters(); - - TrustManagersParameters trustManagersParameters = new TrustManagersParameters(); - KeyStoreParameters trustStore = new KeyStoreParameters(); - trustStore.setPassword("changeit"); - trustStore.setResource("ssl/keystore.jks"); - trustManagersParameters.setKeyStore(trustStore); - sslContextParameters.setTrustManagers(trustManagersParameters); - - return sslContextParameters; - } -} diff --git a/integration-tests/lumberjack/src/test/java/org/apache/camel/quarkus/component/lumberjack/it/LumberjackAckResponse.java b/integration-tests/lumberjack/src/test/java/org/apache/camel/quarkus/component/lumberjack/it/LumberjackAckResponse.java new file mode 100644 index 0000000..7dde61a --- /dev/null +++ b/integration-tests/lumberjack/src/test/java/org/apache/camel/quarkus/component/lumberjack/it/LumberjackAckResponse.java @@ -0,0 +1,64 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.camel.quarkus.component.lumberjack.it; + +public class LumberjackAckResponse { + private short version; + private short frame; + private int sequence; + private int remaining; + + public LumberjackAckResponse(short version, short frame, int sequence, int remaining) { + this.version = version; + this.frame = frame; + this.sequence = sequence; + this.remaining = remaining; + } + + public short getVersion() { + return version; + } + + public void setVersion(short version) { + this.version = version; + } + + public short getFrame() { + return frame; + } + + public void setFrame(short frame) { + this.frame = frame; + } + + public int getSequence() { + return sequence; + } + + public void setSequence(int sequence) { + this.sequence = sequence; + } + + public int getRemaining() { + return remaining; + } + + public void setRemaining(int remaining) { + this.remaining = remaining; + } + +} diff --git a/integration-tests/lumberjack/src/main/java/org/apache/camel/quarkus/component/lumberjack/it/LumberjackService.java b/integration-tests/lumberjack/src/test/java/org/apache/camel/quarkus/component/lumberjack/it/LumberjackClientUtil.java similarity index 74% rename from integration-tests/lumberjack/src/main/java/org/apache/camel/quarkus/component/lumberjack/it/LumberjackService.java rename to integration-tests/lumberjack/src/test/java/org/apache/camel/quarkus/component/lumberjack/it/LumberjackClientUtil.java index 778f69c..2d11c11 100644 --- a/integration-tests/lumberjack/src/main/java/org/apache/camel/quarkus/component/lumberjack/it/LumberjackService.java +++ b/integration-tests/lumberjack/src/test/java/org/apache/camel/quarkus/component/lumberjack/it/LumberjackClientUtil.java @@ -21,10 +21,8 @@ import java.io.IOException; import java.io.InputStream; import java.util.ArrayList; import java.util.List; -import java.util.Map; import java.util.concurrent.TimeUnit; -import javax.enterprise.context.ApplicationScoped; import javax.net.ssl.SSLEngine; import io.netty.bootstrap.Bootstrap; @@ -37,33 +35,29 @@ import io.netty.channel.SimpleChannelInboundHandler; import io.netty.channel.nio.NioEventLoopGroup; import io.netty.channel.socket.nio.NioSocketChannel; import io.netty.handler.ssl.SslHandler; -import io.quarkus.runtime.annotations.RegisterForReflection; +import org.apache.camel.support.jsse.KeyStoreParameters; import org.apache.camel.support.jsse.SSLContextParameters; +import org.apache.camel.support.jsse.TrustManagersParameters; import static io.netty.buffer.Unpooled.wrappedBuffer; -@RegisterForReflection -@ApplicationScoped -public class LumberjackService { - - private static List<Map<String, Map>> logs; +public class LumberjackClientUtil { /** - * Send messages to Lumberjack server + * Send payload to Lumberjack server * * @param port - * @param sslContextParameters + * @param withSslContextParameters * @return * @throws InterruptedException */ - List<Integer> sendMessages(int port, SSLContextParameters sslContextParameters) throws InterruptedException { - // init list of results - initLogs(); - + public static List<LumberjackAckResponse> sendMessages(int port, boolean withSslContextParameters) + throws InterruptedException { + final SSLContextParameters sslContextParameters = withSslContextParameters ? createClientSSLContextParameters() : null; NioEventLoopGroup eventLoopGroup = new NioEventLoopGroup(); try { // This list will hold the acknowledgment response sequence numbers - List<Integer> responses = new ArrayList<>(); + List<LumberjackAckResponse> responses = new ArrayList<>(); // This initializer configures the SSL and an acknowledgment recorder ChannelInitializer<Channel> initializer = new ChannelInitializer<Channel>() { @@ -80,12 +74,13 @@ public class LumberjackService { pipeline.addLast(new SimpleChannelInboundHandler<ByteBuf>() { @Override protected void channelRead0(ChannelHandlerContext ctx, ByteBuf msg) throws Exception { - // read 2 first bytes - msg.readUnsignedByte(); - msg.readUnsignedByte(); + short version = msg.readUnsignedByte(); + short frame = msg.readUnsignedByte(); + int sequence = msg.readInt(); + int remaining = msg.readableBytes(); // getting the lumberjack window sizes synchronized (responses) { - responses.add(msg.readInt()); + responses.add(new LumberjackAckResponse(version, frame, sequence, remaining)); } } }); @@ -135,27 +130,20 @@ public class LumberjackService { } /** - * init results from consumer + * Creates SSL Context Parameters for the client + * + * @return */ - public void initLogs() { - logs = new ArrayList<>(); - } + public static SSLContextParameters createClientSSLContextParameters() { + SSLContextParameters sslContextParameters = new SSLContextParameters(); - /** - * Gets responses from Lumberjack consumer - * - * @param log - */ - public static void addLog(Map<String, Map> log) { - logs.add(log); - } + TrustManagersParameters trustManagersParameters = new TrustManagersParameters(); + KeyStoreParameters trustStore = new KeyStoreParameters(); + trustStore.setPassword("changeit"); + trustStore.setResource("ssl/keystore.jks"); + trustManagersParameters.setKeyStore(trustStore); + sslContextParameters.setTrustManagers(trustManagersParameters); - /** - * gets all results from consumer - * - * @return - */ - public List<Map<String, Map>> getLogs() { - return logs; + return sslContextParameters; } } diff --git a/integration-tests/lumberjack/src/test/java/org/apache/camel/quarkus/component/lumberjack/it/LumberjackTest.java b/integration-tests/lumberjack/src/test/java/org/apache/camel/quarkus/component/lumberjack/it/LumberjackTest.java index ab3b8ed..863fb21 100644 --- a/integration-tests/lumberjack/src/test/java/org/apache/camel/quarkus/component/lumberjack/it/LumberjackTest.java +++ b/integration-tests/lumberjack/src/test/java/org/apache/camel/quarkus/component/lumberjack/it/LumberjackTest.java @@ -16,6 +16,8 @@ */ package org.apache.camel.quarkus.component.lumberjack.it; +import java.util.List; + import io.quarkus.test.common.QuarkusTestResource; import io.quarkus.test.common.http.TestHTTPEndpoint; import io.quarkus.test.junit.QuarkusTest; @@ -24,19 +26,25 @@ import org.junit.jupiter.api.Test; import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.hasSize; +import static org.junit.jupiter.api.Assertions.assertEquals; @QuarkusTest @TestHTTPEndpoint(LumberjackResource.class) @QuarkusTestResource(LumberjackTestResource.class) class LumberjackTest { + + static final int VERSION_V2 = '2'; + static final int TYPE_ACKNOWLEDGE = 'A'; + @Test - public void testWithoutSSL() { + public void testWithoutSSL() throws InterruptedException { + List<LumberjackAckResponse> ackResponseList = sendPayload("camel.lumberjack.ssl.none.test-port", false); + assertAck(ackResponseList); + RestAssured.given() - .get("/ssl/none") + .get("/results/ssl/none") .then() .statusCode(200) - .body("windowSizes[0]", equalTo(10)) - .body("windowSizes[1]", equalTo(15)) .body("logs", hasSize(25)) .body("logs[0].input_type", equalTo("log")) .body("logs[0].source", equalTo( @@ -44,13 +52,14 @@ class LumberjackTest { } @Test - public void testWitSSL() { + public void testWitSSL() throws InterruptedException { + List<LumberjackAckResponse> ackResponseList = sendPayload("camel.lumberjack.ssl.test-port", true); + assertAck(ackResponseList); + RestAssured.given() - .get("/ssl/route") + .get("/results/ssl/route") .then() .statusCode(200) - .body("windowSizes[0]", equalTo(10)) - .body("windowSizes[1]", equalTo(15)) .body("logs", hasSize(25)) .body("logs[0].input_type", equalTo("log")) .body("logs[0].source", equalTo( @@ -58,16 +67,35 @@ class LumberjackTest { } @Test - public void testWitGlobalSSL() { + public void testWitGlobalSSL() throws InterruptedException { + List<LumberjackAckResponse> ackResponseList = sendPayload("camel.lumberjack.ssl.global.test-port", true); + assertAck(ackResponseList); + RestAssured.given() - .get("/ssl/global") + .get("/results/ssl/global") .then() .statusCode(200) - .body("windowSizes[0]", equalTo(10)) - .body("windowSizes[1]", equalTo(15)) .body("logs", hasSize(25)) .body("logs[0].input_type", equalTo("log")) .body("logs[0].source", equalTo( "/home/qatest/collectNetwork/log/data-integration/00000000-f000-0000-1541-8da26f200001/absorption.log")); } + + private void assertAck(List<LumberjackAckResponse> ackResponseList) { + assertEquals(2, ackResponseList.size()); + assertEquals(VERSION_V2, ackResponseList.get(0).getVersion()); + assertEquals(VERSION_V2, ackResponseList.get(1).getVersion()); + assertEquals(TYPE_ACKNOWLEDGE, ackResponseList.get(0).getFrame()); + assertEquals(TYPE_ACKNOWLEDGE, ackResponseList.get(1).getFrame()); + assertEquals(10, ackResponseList.get(0).getSequence()); + assertEquals(15, ackResponseList.get(1).getSequence()); + assertEquals(0, ackResponseList.get(0).getRemaining()); + assertEquals(0, ackResponseList.get(1).getRemaining()); + } + + private List<LumberjackAckResponse> sendPayload(String portName, boolean withSsl) throws InterruptedException { + final int port = Integer.getInteger(portName); + List<LumberjackAckResponse> ackResponseList = LumberjackClientUtil.sendMessages(port, withSsl); + return ackResponseList; + } } diff --git a/integration-tests/lumberjack/src/main/resources/io/window10.bin b/integration-tests/lumberjack/src/test/resources/io/window10.bin similarity index 100% rename from integration-tests/lumberjack/src/main/resources/io/window10.bin rename to integration-tests/lumberjack/src/test/resources/io/window10.bin diff --git a/integration-tests/lumberjack/src/main/resources/io/window15.bin b/integration-tests/lumberjack/src/test/resources/io/window15.bin similarity index 100% rename from integration-tests/lumberjack/src/main/resources/io/window15.bin rename to integration-tests/lumberjack/src/test/resources/io/window15.bin