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