1
2
3
4
5
6
7
8
9
10
11 package org.mule.module.xml.config;
12
13 import org.mule.api.routing.OutboundRouterCollection;
14 import org.mule.api.service.Service;
15 import org.mule.module.xml.filters.IsXmlFilter;
16 import org.mule.module.xml.filters.JXPathFilter;
17 import org.mule.routing.filters.logic.NotFilter;
18 import org.mule.routing.outbound.FilteringOutboundRouter;
19 import org.mule.tck.FunctionalTestCase;
20
21 import java.util.List;
22 import java.util.Map;
23
24 public class XmlFilterNamespaceHandlerTestCase extends FunctionalTestCase
25 {
26
27 protected String getConfigResources()
28 {
29 return "org/mule/module/xml/xml-filter-functional-test.xml";
30 }
31
32
33
34
35 public void testIsXmlFilter()
36 {
37 Service service = muleContext.getRegistry().lookupService("test for xml");
38 List routers = ((OutboundRouterCollection) service.getOutboundMessageProcessor()).getRoutes();
39 assertEquals(2, routers.size());
40 assertTrue(routers.get(0).getClass().getName(), routers.get(0) instanceof FilteringOutboundRouter);
41 assertTrue(((FilteringOutboundRouter) routers.get(0)).getFilter() instanceof IsXmlFilter);
42 assertTrue(routers.get(1).getClass().getName(), routers.get(1) instanceof FilteringOutboundRouter);
43 assertTrue(((FilteringOutboundRouter) routers.get(1)).getFilter() instanceof NotFilter);
44 assertTrue(((NotFilter) ((FilteringOutboundRouter) routers.get(1)).getFilter()).getFilter() instanceof IsXmlFilter);
45 }
46
47 public void testJXPathFilter()
48 {
49 Service service = muleContext.getRegistry().lookupService("filter xml for content");
50 List routers = ((OutboundRouterCollection) service.getOutboundMessageProcessor()).getRoutes();
51 assertEquals(1, routers.size());
52 assertTrue(routers.get(0).getClass().getName(), routers.get(0) instanceof FilteringOutboundRouter);
53 assertTrue(((FilteringOutboundRouter) routers.get(0)).getFilter() instanceof JXPathFilter);
54 JXPathFilter filter = (JXPathFilter) ((FilteringOutboundRouter) routers.get(0)).getFilter();
55 assertEquals("filter xml for content", filter.getExpectedValue());
56 assertEquals("/mule:mule/mule:model/mule:service[2]/@name", filter.getPattern());
57 assertNotNull(filter.getNamespaces());
58 Map namespaces = filter.getNamespaces();
59 assertEquals(2, namespaces.size());
60 assertEquals("http://www.springframework.org/schema/beans", namespaces.get("spring"));
61 assertTrue(namespaces.get("mule").toString().startsWith("http://www.mulesoft.org/schema/mule/core"));
62 }
63
64 }