You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ac...@apache.org on 2020/03/19 08:59:00 UTC

[camel-quarkus] branch master updated: chore(it): small telegram tests cleanup

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

acosentino 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 d612ac3  chore(it): small telegram tests cleanup
     new d603a1e  Merge pull request #912 from lburgazzoli/telegram-test-cleanup
d612ac3 is described below

commit d612ac319536b26583c4525999f00d23b59174a9
Author: lburgazzoli <lb...@gmail.com>
AuthorDate: Thu Mar 19 08:29:11 2020 +0100

    chore(it): small telegram tests cleanup
---
 .../component/telegram/it/TelegramRoutes.java      | 44 +++++++++-------------
 1 file changed, 17 insertions(+), 27 deletions(-)

diff --git a/integration-tests/telegram/src/main/java/org/apache/camel/quarkus/component/telegram/it/TelegramRoutes.java b/integration-tests/telegram/src/main/java/org/apache/camel/quarkus/component/telegram/it/TelegramRoutes.java
index f11b2cf..4120009 100644
--- a/integration-tests/telegram/src/main/java/org/apache/camel/quarkus/component/telegram/it/TelegramRoutes.java
+++ b/integration-tests/telegram/src/main/java/org/apache/camel/quarkus/component/telegram/it/TelegramRoutes.java
@@ -19,12 +19,11 @@ package org.apache.camel.quarkus.component.telegram.it;
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
-import java.util.Arrays;
+import java.util.stream.Stream;
 
 import org.apache.camel.Exchange;
-import org.apache.camel.Message;
-import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.support.ResourceHelper;
 import org.apache.camel.util.IOHelper;
 
 public class TelegramRoutes extends RouteBuilder {
@@ -34,8 +33,9 @@ public class TelegramRoutes extends RouteBuilder {
 
         /* Mock Telegram API */
         from("platform-http:/bot{authToken}/getUpdates?httpMethodRestrict=GET")
-                .process(new ResourceSupplier("mock-messages/getUpdates.json"));
-        Arrays.asList(
+                .process(e -> load("mock-messages/getUpdates.json", e));
+
+        Stream.of(
                 "sendMessage",
                 "sendAudio",
                 "sendVideo",
@@ -43,35 +43,25 @@ public class TelegramRoutes extends RouteBuilder {
                 "sendPhoto",
                 "sendVenue",
                 "sendLocation",
-                "stopMessageLiveLocation").stream()
+                "stopMessageLiveLocation")
                 .forEach(endpoint -> {
                     from("platform-http:/{authToken}/" + endpoint + "?httpMethodRestrict=POST")
-                            .process(new ResourceSupplier("mock-messages/" + endpoint + ".json"));
+                            .process(e -> load("mock-messages/" + endpoint + ".json", e));
                 });
 
     }
 
-    static class ResourceSupplier implements Processor {
-        private final byte[] bytes;
-
-        public ResourceSupplier(String path) {
-            try (ByteArrayOutputStream out = new ByteArrayOutputStream(IOHelper.DEFAULT_BUFFER_SIZE);
-                    InputStream in = getClass().getClassLoader().getResourceAsStream(path)) {
-                IOHelper.copy(in, out, IOHelper.DEFAULT_BUFFER_SIZE);
-                this.bytes = out.toByteArray();
-            } catch (IOException e) {
-                throw new RuntimeException(e);
-            }
-        }
+    private static void load(String path, Exchange exchange) {
+        try (ByteArrayOutputStream out = new ByteArrayOutputStream(IOHelper.DEFAULT_BUFFER_SIZE);
+                InputStream in = ResourceHelper.resolveMandatoryResourceAsInputStream(exchange.getContext(), path)) {
+            IOHelper.copy(in, out, IOHelper.DEFAULT_BUFFER_SIZE);
 
-        @Override
-        public void process(Exchange exchange) throws Exception {
-            final Message m = exchange.getMessage();
-            m.setBody(bytes);
-            m.setHeader("Content-Length", bytes.length);
-            m.setHeader("Content-Type", "application/json; charset=UTF-8");
+            final byte[] bytes = out.toByteArray();
+            exchange.getMessage().setBody(bytes);
+            exchange.getMessage().setHeader("Content-Length", bytes.length);
+            exchange.getMessage().setHeader("Content-Type", "application/json; charset=UTF-8");
+        } catch (IOException e) {
+            throw new RuntimeException(e);
         }
-
     }
-
 }