Repository: karaf-decanter Updated Branches: refs/heads/master 029a6df5c -> d54157555
Remove duplications in tests Project: http://git-wip-us.apache.org/repos/asf/karaf-decanter/repo Commit: http://git-wip-us.apache.org/repos/asf/karaf-decanter/commit/d5415755 Tree: http://git-wip-us.apache.org/repos/asf/karaf-decanter/tree/d5415755 Diff: http://git-wip-us.apache.org/repos/asf/karaf-decanter/diff/d5415755 Branch: refs/heads/master Commit: d541575550bafbe4ee7578935fadc399e1d3ac95 Parents: 029a6df Author: Christian Schneider <[email protected]> Authored: Wed Jul 19 09:37:10 2017 +0200 Committer: Christian Schneider <[email protected]> Committed: Wed Jul 19 09:37:10 2017 +0200 ---------------------------------------------------------------------- .../camel/DecanterEventNotifierTest.java | 111 ++++--------------- .../camel/DecanterTraceEventHandlerTest.java | 93 +++++----------- .../collector/camel/MockEventAdmin.java | 48 ++++++++ 3 files changed, 96 insertions(+), 156 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/karaf-decanter/blob/d5415755/collector/camel/src/test/java/org/apache/karaf/decanter/collector/camel/DecanterEventNotifierTest.java ---------------------------------------------------------------------- diff --git a/collector/camel/src/test/java/org/apache/karaf/decanter/collector/camel/DecanterEventNotifierTest.java b/collector/camel/src/test/java/org/apache/karaf/decanter/collector/camel/DecanterEventNotifierTest.java index 0a04e4e..6916bc1 100644 --- a/collector/camel/src/test/java/org/apache/karaf/decanter/collector/camel/DecanterEventNotifierTest.java +++ b/collector/camel/src/test/java/org/apache/karaf/decanter/collector/camel/DecanterEventNotifierTest.java @@ -24,32 +24,18 @@ import org.apache.camel.management.event.*; import org.junit.Assert; import org.junit.Test; import org.osgi.service.event.Event; -import org.osgi.service.event.EventAdmin; -import java.util.ArrayList; -import java.util.List; import java.util.Map; public class DecanterEventNotifierTest { @Test public void testEventNotifier() throws Exception { - DispatcherMock eventAdmin = new DispatcherMock(); + MockEventAdmin eventAdmin = new MockEventAdmin(); DecanterEventNotifier notifier = new DecanterEventNotifier(); notifier.setEventAdmin(eventAdmin); - RouteBuilder builder = new RouteBuilder() { - @Override - public void configure() throws Exception { - from("direct:start").routeId("test-route").to("log:foo"); - } - }; - - DefaultCamelContext camelContext = new DefaultCamelContext(); - camelContext.setName("test-context"); - camelContext.addRoutes(builder); - camelContext.getManagementStrategy().addEventNotifier(notifier); - camelContext.start(); + DefaultCamelContext camelContext = createCamelContext(notifier); ProducerTemplate producerTemplate = camelContext.createProducerTemplate(); producerTemplate.sendBodyAndHeader("direct:start", "TEST", "foo", "bar"); @@ -96,23 +82,12 @@ public class DecanterEventNotifierTest { @Test public void testCamelContextFilter() throws Exception { - DispatcherMock eventAdmin = new DispatcherMock(); + MockEventAdmin eventAdmin = new MockEventAdmin(); DecanterEventNotifier notifier = new DecanterEventNotifier(); notifier.setEventAdmin(eventAdmin); notifier.setCamelContextMatcher("foo"); - RouteBuilder builder = new RouteBuilder() { - @Override - public void configure() throws Exception { - from("direct:start").routeId("test-route").to("log:foo"); - } - }; - - DefaultCamelContext camelContext = new DefaultCamelContext(); - camelContext.setName("test-context"); - camelContext.addRoutes(builder); - camelContext.getManagementStrategy().addEventNotifier(notifier); - camelContext.start(); + DefaultCamelContext camelContext = createCamelContext(notifier); ProducerTemplate producerTemplate = camelContext.createProducerTemplate(); producerTemplate.sendBodyAndHeader("direct:start", "TEST", "foo", "bar"); @@ -122,24 +97,13 @@ public class DecanterEventNotifierTest { @Test public void testRouteIdFilter() throws Exception { - DispatcherMock eventAdmin = new DispatcherMock(); + MockEventAdmin eventAdmin = new MockEventAdmin(); DecanterEventNotifier notifier = new DecanterEventNotifier(); notifier.setEventAdmin(eventAdmin); notifier.setCamelContextMatcher(".*"); notifier.setRouteMatcher("foo"); - RouteBuilder builder = new RouteBuilder() { - @Override - public void configure() throws Exception { - from("direct:start").routeId("test-route").to("log:foo"); - } - }; - - DefaultCamelContext camelContext = new DefaultCamelContext(); - camelContext.setName("test-context"); - camelContext.addRoutes(builder); - camelContext.getManagementStrategy().addEventNotifier(notifier); - camelContext.start(); + DefaultCamelContext camelContext = createCamelContext(notifier); ProducerTemplate producerTemplate = camelContext.createProducerTemplate(); producerTemplate.sendBodyAndHeader("direct:start", "TEST", "foo", "bar"); @@ -149,23 +113,12 @@ public class DecanterEventNotifierTest { @Test public void testIgnoredEvents() throws Exception { - DispatcherMock eventAdmin = new DispatcherMock(); + MockEventAdmin eventAdmin = new MockEventAdmin(); DecanterEventNotifier notifier = new DecanterEventNotifier(); notifier.setEventAdmin(eventAdmin); notifier.setIgnoreCamelContextEvents(true); - RouteBuilder builder = new RouteBuilder() { - @Override - public void configure() throws Exception { - from("direct:start").routeId("test-route").to("log:foo"); - } - }; - - DefaultCamelContext camelContext = new DefaultCamelContext(); - camelContext.setName("test-context"); - camelContext.addRoutes(builder); - camelContext.getManagementStrategy().addEventNotifier(notifier); - camelContext.start(); + DefaultCamelContext camelContext = createCamelContext(notifier); ProducerTemplate producerTemplate = camelContext.createProducerTemplate(); producerTemplate.sendBodyAndHeader("direct:start", "TEST", "foo", "bar"); @@ -175,57 +128,37 @@ public class DecanterEventNotifierTest { @Test public void testExtender() throws Exception { - DispatcherMock eventAdmin = new DispatcherMock(); + MockEventAdmin eventAdmin = new MockEventAdmin(); DecanterEventNotifier notifier = new DecanterEventNotifier(); notifier.setIgnoreCamelContextEvents(true); notifier.setIgnoreRouteEvents(true); notifier.setEventAdmin(eventAdmin); notifier.setExtender(new TestExtender()); + DefaultCamelContext camelContext = createCamelContext(notifier); + + ProducerTemplate producerTemplate = camelContext.createProducerTemplate(); + producerTemplate.sendBodyAndHeader("direct:start", "TEST", "foo", "bar"); + + Assert.assertEquals(6, eventAdmin.getPostEvents().size()); + + Assert.assertEquals("test", eventAdmin.getPostEvents().get(0).getProperty("extender-test")); + } + + private DefaultCamelContext createCamelContext(DecanterEventNotifier notifier) throws Exception { RouteBuilder builder = new RouteBuilder() { @Override public void configure() throws Exception { from("direct:start").routeId("test-route").to("log:foo"); } }; - + DefaultCamelContext camelContext = new DefaultCamelContext(); camelContext.setName("test-context"); camelContext.addRoutes(builder); camelContext.getManagementStrategy().addEventNotifier(notifier); camelContext.start(); - - ProducerTemplate producerTemplate = camelContext.createProducerTemplate(); - producerTemplate.sendBodyAndHeader("direct:start", "TEST", "foo", "bar"); - - Assert.assertEquals(6, eventAdmin.getPostEvents().size()); - - Assert.assertEquals("test", eventAdmin.getPostEvents().get(0).getProperty("extender-test")); - } - - private class DispatcherMock implements EventAdmin { - - private List<Event> postEvents = new ArrayList<>(); - private List<Event> sendEvents = new ArrayList<>(); - - @Override - public void postEvent(Event event) { - postEvents.add(event); - } - - @Override - public void sendEvent(Event event) { - System.out.println("SEND EVENT"); - sendEvents.add(event); - } - - public List<Event> getPostEvents() { - return postEvents; - } - - public List<Event> getSendEvents() { - return sendEvents; - } + return camelContext; } private class TestExtender implements DecanterCamelEventExtender { http://git-wip-us.apache.org/repos/asf/karaf-decanter/blob/d5415755/collector/camel/src/test/java/org/apache/karaf/decanter/collector/camel/DecanterTraceEventHandlerTest.java ---------------------------------------------------------------------- diff --git a/collector/camel/src/test/java/org/apache/karaf/decanter/collector/camel/DecanterTraceEventHandlerTest.java b/collector/camel/src/test/java/org/apache/karaf/decanter/collector/camel/DecanterTraceEventHandlerTest.java index 7d8aa6f..38321c2 100644 --- a/collector/camel/src/test/java/org/apache/karaf/decanter/collector/camel/DecanterTraceEventHandlerTest.java +++ b/collector/camel/src/test/java/org/apache/karaf/decanter/collector/camel/DecanterTraceEventHandlerTest.java @@ -16,53 +16,34 @@ */ package org.apache.karaf.decanter.collector.camel; +import java.io.StringReader; +import java.util.Map; + +import javax.json.Json; +import javax.json.JsonObject; +import javax.json.JsonReader; + import org.apache.camel.Exchange; import org.apache.camel.LoggingLevel; import org.apache.camel.ProducerTemplate; import org.apache.camel.builder.RouteBuilder; import org.apache.camel.impl.DefaultCamelContext; +import org.apache.camel.processor.interceptor.TraceEventHandler; import org.apache.camel.processor.interceptor.Tracer; import org.apache.karaf.decanter.marshaller.json.JsonMarshaller; import org.junit.Assert; import org.junit.Test; import org.osgi.service.event.Event; -import org.osgi.service.event.EventAdmin; - -import javax.json.Json; -import javax.json.JsonObject; -import javax.json.JsonReader; -import java.io.StringReader; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; public class DecanterTraceEventHandlerTest { @Test public void testTracer() throws Exception { JsonMarshaller marshaller = new JsonMarshaller(); - - DispatcherMock eventAdmin = new DispatcherMock(); - - RouteBuilder builder = new RouteBuilder() { - @Override - public void configure() throws Exception { - from("direct:start").routeId("test-route").to("log:foo"); - } - }; - DefaultCamelContext camelContext = new DefaultCamelContext(); - camelContext.setName("test-context"); - camelContext.addRoutes(builder); - Tracer tracer = new Tracer(); - tracer.setEnabled(true); - tracer.setTraceOutExchanges(true); - tracer.setLogLevel(LoggingLevel.OFF); + MockEventAdmin eventAdmin = new MockEventAdmin(); DecanterTraceEventHandler handler = new DecanterTraceEventHandler(); handler.setEventAdmin(eventAdmin); - tracer.addTraceHandler(handler); - camelContext.setTracing(true); - camelContext.setDefaultTracer(tracer); - camelContext.start(); + DefaultCamelContext camelContext = createCamelContext(handler); ProducerTemplate template = camelContext.createProducerTemplate(); template.sendBodyAndHeader("direct:start", "TEST", "header", "test"); @@ -90,10 +71,23 @@ public class DecanterTraceEventHandlerTest { @Test public void testTracerWithExtender() throws Exception { - DispatcherMock eventAdmin = new DispatcherMock(); - + MockEventAdmin eventAdmin = new MockEventAdmin(); TestExtender extender = new TestExtender(); + DecanterTraceEventHandler handler = new DecanterTraceEventHandler(); + handler.setExtender(extender); + handler.setEventAdmin(eventAdmin); + DefaultCamelContext camelContext = createCamelContext(handler); + ProducerTemplate template = camelContext.createProducerTemplate(); + template.sendBodyAndHeader("direct:start", "TEST", "header", "test"); + + Assert.assertEquals(2, eventAdmin.getPostEvents().size()); + + Assert.assertEquals("test", eventAdmin.getPostEvents().get(0).getProperty("extender-test")); + Assert.assertEquals("test", eventAdmin.getPostEvents().get(1).getProperty("extender-test")); + } + + private DefaultCamelContext createCamelContext(TraceEventHandler handler) throws Exception { RouteBuilder builder = new RouteBuilder() { @Override public void configure() throws Exception { @@ -107,46 +101,11 @@ public class DecanterTraceEventHandlerTest { tracer.setEnabled(true); tracer.setTraceOutExchanges(true); tracer.setLogLevel(LoggingLevel.OFF); - DecanterTraceEventHandler handler = new DecanterTraceEventHandler(); - handler.setExtender(extender); - handler.setEventAdmin(eventAdmin); tracer.addTraceHandler(handler); camelContext.setTracing(true); camelContext.setDefaultTracer(tracer); camelContext.start(); - - ProducerTemplate template = camelContext.createProducerTemplate(); - template.sendBodyAndHeader("direct:start", "TEST", "header", "test"); - - Assert.assertEquals(2, eventAdmin.getPostEvents().size()); - - Assert.assertEquals("test", eventAdmin.getPostEvents().get(0).getProperty("extender-test")); - Assert.assertEquals("test", eventAdmin.getPostEvents().get(1).getProperty("extender-test")); - } - - private class DispatcherMock implements EventAdmin { - - private List<Event> postEvents = new ArrayList<>(); - private List<Event> sendEvents = new ArrayList<>(); - - @Override - public void postEvent(Event event) { - postEvents.add(event); - } - - @Override - public void sendEvent(Event event) { - System.out.println("SEND EVENT"); - sendEvents.add(event); - } - - public List<Event> getPostEvents() { - return postEvents; - } - - public List<Event> getSendEvents() { - return sendEvents; - } + return camelContext; } private class TestExtender implements DecanterCamelEventExtender { http://git-wip-us.apache.org/repos/asf/karaf-decanter/blob/d5415755/collector/camel/src/test/java/org/apache/karaf/decanter/collector/camel/MockEventAdmin.java ---------------------------------------------------------------------- diff --git a/collector/camel/src/test/java/org/apache/karaf/decanter/collector/camel/MockEventAdmin.java b/collector/camel/src/test/java/org/apache/karaf/decanter/collector/camel/MockEventAdmin.java new file mode 100644 index 0000000..6adad42 --- /dev/null +++ b/collector/camel/src/test/java/org/apache/karaf/decanter/collector/camel/MockEventAdmin.java @@ -0,0 +1,48 @@ +/* + * 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.karaf.decanter.collector.camel; + +import java.util.ArrayList; +import java.util.List; + +import org.osgi.service.event.Event; +import org.osgi.service.event.EventAdmin; + +class MockEventAdmin implements EventAdmin { + + private List<Event> postEvents = new ArrayList<>(); + private List<Event> sendEvents = new ArrayList<>(); + + @Override + public void postEvent(Event event) { + postEvents.add(event); + } + + @Override + public void sendEvent(Event event) { + System.out.println("SEND EVENT"); + sendEvents.add(event); + } + + public List<Event> getPostEvents() { + return postEvents; + } + + public List<Event> getSendEvents() { + return sendEvents; + } +} \ No newline at end of file
