1
2
3
4
5
6
7
8
9
10
11 package org.mule.test.spring;
12
13 import org.mule.DefaultMuleMessage;
14 import org.mule.api.MuleMessage;
15 import org.mule.api.config.ConfigurationBuilder;
16 import org.mule.api.config.ConfigurationException;
17 import org.mule.api.endpoint.ImmutableEndpoint;
18 import org.mule.api.routing.MessageInfoMapping;
19 import org.mule.api.service.Service;
20 import org.mule.api.transformer.Transformer;
21 import org.mule.config.spring.SpringXmlConfigurationBuilder;
22 import org.mule.routing.ExpressionMessageInfoMapping;
23 import org.mule.service.ServiceCompositeMessageSource;
24 import org.mule.tck.AbstractConfigBuilderTestCase;
25 import org.mule.tck.testmodels.fruit.Apple;
26 import org.mule.tck.testmodels.mule.TestCompressionTransformer;
27
28 import java.util.HashMap;
29 import java.util.List;
30 import java.util.Map;
31
32
33
34
35
36
37
38
39
40
41
42 public class SpringNamespaceConfigBuilderV2TestCase extends AbstractConfigBuilderTestCase
43 {
44
45 public SpringNamespaceConfigBuilderV2TestCase()
46 {
47 super(true);
48 setDisposeManagerPerSuite(true);
49 }
50
51 public String getConfigResources()
52 {
53 return "org/mule/test/spring/config2/test-xml-mule2-config.xml," +
54 "org/mule/test/spring/config2/test-xml-mule2-config-split.xml," +
55 "org/mule/test/spring/config2/test-xml-mule2-config-split-properties.xml";
56 }
57
58 @Override
59 public ConfigurationBuilder getBuilder() throws ConfigurationException
60 {
61 return new SpringXmlConfigurationBuilder(getConfigResources());
62 }
63
64 public void testMessageInfoMappingConfig() throws Exception
65 {
66 Service d = muleContext.getRegistry().lookupService("msgInfoMappingTestComponent");
67 assertNotNull(d);
68
69 final MessageInfoMapping mapping = d.getMessageInfoMapping();
70 assertTrue(mapping instanceof ExpressionMessageInfoMapping);
71
72 Map props = new HashMap();
73 props.put("id", "myID123");
74 props.put("correlation", "myCorrelationID456");
75 MuleMessage msg = new DefaultMuleMessage("foo", props, muleContext);
76 assertEquals("myID123",mapping.getMessageId(msg));
77 assertEquals("myCorrelationID456",mapping.getCorrelationId(msg));
78 }
79
80 public void testPropertyTypesConfig() throws Exception
81 {
82 Service c = muleContext.getRegistry().lookupService("testPropertiesComponent");
83 assertNotNull(c);
84 Object obj = getComponent(c);
85 assertNotNull(obj);
86 assertTrue(obj instanceof Apple);
87 assertTrue(((Apple) obj).isBitten());
88 assertTrue(((Apple) obj).isWashed());
89 }
90
91 public void testEndpointURIParamsConfig()
92 {
93 Service d = muleContext.getRegistry().lookupService("testPropertiesComponent");
94 assertNotNull(d);
95 final ServiceCompositeMessageSource router = (ServiceCompositeMessageSource) d.getMessageSource();
96 assertNotNull(router);
97 final List endpoints = router.getEndpoints();
98 assertNotNull(endpoints);
99 assertFalse(endpoints.isEmpty());
100 final ImmutableEndpoint inboundEndpoint = (ImmutableEndpoint) endpoints.get(0);
101 assertNotNull(inboundEndpoint);
102 final List transformers = inboundEndpoint.getTransformers();
103 assertFalse(transformers.isEmpty());
104 assertNotNull(transformers.get(0));
105 final List responseTransformers = inboundEndpoint.getResponseTransformers();
106 assertFalse(responseTransformers.isEmpty());
107 assertNotNull(responseTransformers.get(0));
108 }
109
110 @Override
111 public void testTransformerConfig()
112 {
113
114 super.testTransformerConfig();
115
116 Transformer t = muleContext.getRegistry().lookupTransformer("TestCompressionTransformer");
117 assertNotNull(t);
118 assertTrue(t instanceof TestCompressionTransformer);
119
120
121
122 assertEquals("this was set from the manager properties!",
123 ((TestCompressionTransformer)t).getBeanProperty1());
124 assertEquals(12, ((TestCompressionTransformer)t).getBeanProperty2());
125
126 assertEquals(t.getReturnClass(), java.lang.String.class);
127
128 t = muleContext.getRegistry().lookupTransformer("TestTransformer");
129 assertNotNull(t);
130 assertEquals(t.getReturnClass(), byte[].class);
131 }
132 }