1
2
3
4
5
6
7
8
9
10 package org.mule.module.xml.config;
11
12 import org.mule.api.endpoint.EndpointBuilder;
13 import org.mule.api.endpoint.InboundEndpoint;
14 import org.mule.jaxb.model.Person;
15 import org.mule.module.xml.filters.JXPathFilter;
16 import org.mule.module.xml.filters.JaxenFilter;
17 import org.mule.module.xml.transformer.JXPathExtractor;
18 import org.mule.module.xml.transformer.jaxb.JAXBMarshallerTransformer;
19 import org.mule.module.xml.transformer.jaxb.JAXBUnmarshallerTransformer;
20 import org.mule.module.xml.util.NamespaceManager;
21 import org.mule.tck.FunctionalTestCase;
22
23 public class XmlNamespaceTestCase extends FunctionalTestCase
24 {
25 public XmlNamespaceTestCase()
26 {
27 setDisposeManagerPerSuite(true);
28 }
29
30 protected String getConfigResources()
31 {
32 return "xml-namespace-config.xml";
33 }
34
35 public void testGlobalNamespaces() throws Exception
36 {
37 NamespaceManager manager = muleContext.getRegistry().lookupObject(NamespaceManager.class);
38 assertNotNull(manager);
39 assertTrue(manager.isIncludeConfigNamespaces());
40 assertEquals(5, manager.getNamespaces().size());
41 }
42
43 public void testJXPathFilterConfig() throws Exception
44 {
45 EndpointBuilder epb = muleContext.getRegistry().lookupEndpointBuilder("test.ep1");
46
47 InboundEndpoint ep = epb.buildInboundEndpoint();
48 assertNotNull(ep.getFilter());
49 assertTrue(ep.getFilter() instanceof JXPathFilter);
50 JXPathFilter filter = (JXPathFilter)ep.getFilter();
51 assertEquals("/bar:foo/bar:bar", filter.getPattern());
52 assertEquals(6, filter.getNamespaces().size());
53 assertEquals("http://bar.com", filter.getNamespaces().get("bar"));
54 }
55
56 public void testJaxenFilterConfig() throws Exception
57 {
58 EndpointBuilder epb = muleContext.getRegistry().lookupEndpointBuilder("test.ep2");
59
60 InboundEndpoint ep = epb.buildInboundEndpoint();
61 assertNotNull(ep.getFilter());
62 assertTrue(ep.getFilter() instanceof JaxenFilter);
63 JaxenFilter filter = (JaxenFilter)ep.getFilter();
64 assertEquals("/car:foo/car:bar", filter.getPattern());
65 assertEquals(6, filter.getNamespaces().size());
66 assertEquals("http://car.com", filter.getNamespaces().get("car"));
67 }
68
69 public void testJXPathExtractor() throws Exception
70 {
71 JXPathExtractor transformer = (JXPathExtractor)muleContext.getRegistry().lookupTransformer("jxpath-extractor");
72 assertNotNull(transformer);
73 assertNotNull(transformer.getNamespaces());
74 assertEquals(6, transformer.getNamespaces().size());
75 assertNotNull(transformer.getNamespaces().get("foo"));
76 assertNotNull(transformer.getNamespaces().get("bar"));
77 }
78
79 public void testJaxbConfig() throws Exception
80 {
81 JAXBMarshallerTransformer t = (JAXBMarshallerTransformer)muleContext.getRegistry().lookupTransformer("ObjectToXml");
82 assertNotNull(t);
83 assertNotNull(t.getJaxbContext());
84
85 JAXBUnmarshallerTransformer t2 = (JAXBUnmarshallerTransformer)muleContext.getRegistry().lookupTransformer("XmlToObject");
86 assertNotNull(t2);
87 assertEquals(Person.class, t2.getReturnDataType().getType());
88 assertNotNull(t2.getJaxbContext());
89 }
90 }