X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=impl%2Fsrc%2Ftest%2Fjava%2Forg%2Fwamblee%2Fxmlrouter%2Fimpl%2FXMLRouterTest.java;h=baa63a16c7a6de2cc7121ce85407a8131fbf4a13;hb=f70baadfd579f4d3aa2e8c9ee7d758fb37d7872f;hp=9ee2645a58f8029de45cfae296f4685540790f81;hpb=b2375f35a2f897e1417e8b5ec5b19b3257a11586;p=xmlrouter diff --git a/impl/src/test/java/org/wamblee/xmlrouter/impl/XMLRouterTest.java b/impl/src/test/java/org/wamblee/xmlrouter/impl/XMLRouterTest.java index 9ee2645..baa63a1 100644 --- a/impl/src/test/java/org/wamblee/xmlrouter/impl/XMLRouterTest.java +++ b/impl/src/test/java/org/wamblee/xmlrouter/impl/XMLRouterTest.java @@ -20,6 +20,7 @@ import static org.mockito.Mockito.*; import java.util.Arrays; import java.util.Collection; +import java.util.concurrent.atomic.AtomicLong; import java.util.logging.Level; import javax.xml.transform.dom.DOMSource; @@ -65,6 +66,8 @@ public class XMLRouterTest { } } + private ExtendedRouterConfig routerConfig; + private XMLRouterConfiguration config; private XMLRouter router; private DOMSource source1; private DOMSource source2; @@ -76,9 +79,11 @@ public class XMLRouterTest { @Before public void setUp() { + routerConfig = new SingleRouterConfig(new AtomicLong(1L)); + config = new XMLRouterConfigurationImpl(routerConfig); EventListener logListener = new LoggingEventListener(Level.INFO); listener = spy(logListener); - router = new XMLRouter(new SystemClock(), listener); + router = new XMLRouter(new SystemClock(), config, listener); source1 = mock(DOMSource.class); source2 = mock(DOMSource.class); source3 = mock(DOMSource.class); @@ -99,7 +104,7 @@ public class XMLRouterTest { DocumentType type = mock(DocumentType.class); doThrow(new RuntimeException("x")).when(type).isInstance( any(DOMSource.class)); - router.getDocumentTypeConfig().add(type); + routerConfig.documentTypeConfig().add(type); router.publish("xx", mock(DOMSource.class)); verify(listener).notDelivered(any(EventInfo.class)); // no exception should occur. @@ -111,7 +116,7 @@ public class XMLRouterTest { Filter filter = mock(Filter.class); doThrow(new RuntimeException("x")).when(filter).isAllowed(anyString(), any(DOMSource.class)); - router.getFilterConfig().add(filter); + routerConfig.filterConfig().add(filter); router.publish("xx", mock(DOMSource.class)); verify(listener).notDelivered(any(EventInfo.class)); // no exception should occur. @@ -144,14 +149,14 @@ public class XMLRouterTest { DocumentType type = mock(DocumentType.class); when(type.isInstance(any(DOMSource.class))).thenReturn(true); when(type.getName()).thenReturn(aType); - Id typeId = router.getDocumentTypeConfig().add(type); + Id typeId = routerConfig.documentTypeConfig().add(type); } private void registerDocumentType(String aType, DOMSource aSource) { DocumentType type = mock(DocumentType.class); when(type.isInstance(same(aSource))).thenReturn(true); when(type.getName()).thenReturn(aType); - Id typeId = router.getDocumentTypeConfig().add(type); + Id typeId = routerConfig.documentTypeConfig().add(type); } private Destination registerDestination(boolean aResult, String... types) { @@ -269,7 +274,9 @@ public class XMLRouterTest { when(transformation.getFromType()).thenReturn("any"); when(transformation.getToType()).thenReturn("bla"); when(transformation.transform(same(source1))).thenReturn(source2); - router.getTransformationConfig().add(transformation); + routerConfig.transformationConfig().add(transformation); + config.getTransformations().replaceTransformations( + routerConfig.transformationConfig().map()); Destination destination = mock(Destination.class); when( @@ -301,7 +308,7 @@ public class XMLRouterTest { when(transformation.getToType()).thenReturn("bla"); doThrow(new RuntimeException("x")).when(transformation).transform( same(source1)); - router.getTransformationConfig().add(transformation); + routerConfig.transformationConfig().add(transformation); Destination destination = mock(Destination.class); when( @@ -331,7 +338,9 @@ public class XMLRouterTest { Transformation transformation = createTransformation("any", "bla", source1, null); - router.getTransformationConfig().add(transformation); + routerConfig.transformationConfig().add(transformation); + config.getTransformations().replaceTransformations( + routerConfig.transformationConfig().map()); Destination destination = mock(Destination.class); when( @@ -349,7 +358,9 @@ public class XMLRouterTest { Transformation transformation2 = createTransformation("any", "bla2", source1, source2); - router.getTransformationConfig().add(transformation2); + routerConfig.transformationConfig().add(transformation2); + config.getTransformations().replaceTransformations( + routerConfig.transformationConfig().map()); when( destination.chooseFromTargetTypes((Collection) anyObject())) .thenReturn(Arrays.asList("bla", "bla2")); @@ -393,7 +404,9 @@ public class XMLRouterTest { registerDocumentType("other", source2); Transformation transformation = createTransformation("any", "other", source1, source2); - router.getTransformationConfig().add(transformation); + routerConfig.transformationConfig().add(transformation); + config.getTransformations().replaceTransformations( + routerConfig.transformationConfig().map()); router.publish("source", source1); verify(listener, times(2)).delivered(any(EventInfo.class), @@ -411,10 +424,12 @@ public class XMLRouterTest { Transformation t1 = createTransformation("any", "intermediate", source1, source2); - router.getTransformationConfig().add(t1); + routerConfig.transformationConfig().add(t1); Transformation t2 = createTransformation("intermediate", "other", source2, source3); - router.getTransformationConfig().add(t2); + routerConfig.transformationConfig().add(t2); + config.getTransformations().replaceTransformations( + routerConfig.transformationConfig().map()); router.publish("source", source1); verify(listener).delivered(any(EventInfo.class),