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