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 <lburgazz...@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); } - } - }