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 import org.junit.Test;
33
34 import static org.junit.Assert.assertEquals;
35 import static org.junit.Assert.assertFalse;
36 import static org.junit.Assert.assertNotNull;
37 import static org.junit.Assert.assertTrue;
38
39
40
41
42
43
44
45
46
47
48
49 public class SpringNamespaceConfigBuilderV2TestCase extends AbstractConfigBuilderTestCase
50 {
51
52 public SpringNamespaceConfigBuilderV2TestCase()
53 {
54 super(true);
55 setDisposeContextPerClass(true);
56 }
57
58 @Override
59 public String getConfigResources()
60 {
61 return "org/mule/test/spring/config2/test-xml-mule2-config.xml," +
62 "org/mule/test/spring/config2/test-xml-mule2-config-split.xml," +
63 "org/mule/test/spring/config2/test-xml-mule2-config-split-properties.xml";
64 }
65
66 @Override
67 public ConfigurationBuilder getBuilder() throws ConfigurationException
68 {
69 return new SpringXmlConfigurationBuilder(getConfigResources());
70 }
71
72 @Test
73 public void testMessageInfoMappingConfig() throws Exception
74 {
75 Service d = muleContext.getRegistry().lookupService("msgInfoMappingTestComponent");
76 assertNotNull(d);
77
78 final MessageInfoMapping mapping = d.getMessageInfoMapping();
79 assertTrue(mapping instanceof ExpressionMessageInfoMapping);
80
81 Map props = new HashMap();
82 props.put("id", "myID123");
83 props.put("correlation", "myCorrelationID456");
84 MuleMessage msg = new DefaultMuleMessage("foo", props, muleContext);
85 assertEquals("myID123",mapping.getMessageId(msg));
86 assertEquals("myCorrelationID456",mapping.getCorrelationId(msg));
87 }
88
89 @Test
90 public void testPropertyTypesConfig() throws Exception
91 {
92 Service c = muleContext.getRegistry().lookupService("testPropertiesComponent");
93 assertNotNull(c);
94 Object obj = getComponent(c);
95 assertNotNull(obj);
96 assertTrue(obj instanceof Apple);
97 assertTrue(((Apple) obj).isBitten());
98 assertTrue(((Apple) obj).isWashed());
99 }
100
101 @Test
102 public void testEndpointURIParamsConfig()
103 {
104 Service d = muleContext.getRegistry().lookupService("testPropertiesComponent");
105 assertNotNull(d);
106 final ServiceCompositeMessageSource router = (ServiceCompositeMessageSource) d.getMessageSource();
107 assertNotNull(router);
108 final List endpoints = router.getEndpoints();
109 assertNotNull(endpoints);
110 assertFalse(endpoints.isEmpty());
111 final ImmutableEndpoint inboundEndpoint = (ImmutableEndpoint) endpoints.get(0);
112 assertNotNull(inboundEndpoint);
113 final List transformers = inboundEndpoint.getTransformers();
114 assertFalse(transformers.isEmpty());
115 assertNotNull(transformers.get(0));
116 final List responseTransformers = inboundEndpoint.getResponseTransformers();
117 assertFalse(responseTransformers.isEmpty());
118 assertNotNull(responseTransformers.get(0));
119 }
120
121 @Override
122 public void testTransformerConfig()
123 {
124
125 super.testTransformerConfig();
126
127 Transformer t = muleContext.getRegistry().lookupTransformer("TestCompressionTransformer");
128 assertNotNull(t);
129 assertTrue(t instanceof TestCompressionTransformer);
130
131
132
133 assertEquals("this was set from the manager properties!",
134 ((TestCompressionTransformer)t).getBeanProperty1());
135 assertEquals(12, ((TestCompressionTransformer)t).getBeanProperty2());
136
137 assertEquals(t.getReturnClass(), java.lang.String.class);
138
139 t = muleContext.getRegistry().lookupTransformer("TestTransformer");
140 assertNotNull(t);
141 assertEquals(t.getReturnClass(), byte[].class);
142 }
143 }