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

Reply via email to