1
2
3
4
5
6
7
8
9
10
11 package org.mule.test.config;
12
13 import org.mule.MuleManager;
14 import org.mule.providers.AbstractConnector;
15 import org.mule.providers.SimpleRetryConnectionStrategy;
16 import org.mule.tck.FunctionalTestCase;
17 import org.mule.umo.UMODescriptor;
18 import org.mule.umo.endpoint.UMOEndpoint;
19
20 import java.util.List;
21 import java.util.Map;
22
23 public class PropertyTemplatesTestCase extends FunctionalTestCase
24 {
25
26 protected String getConfigResources()
27 {
28 return "test-xml-property-templates.xml";
29 }
30
31 public void testProperties()
32 {
33 assertEquals("blah", MuleManager.getConfiguration().getModel());
34 assertEquals("blah", MuleManager.getInstance().lookupModel("blah").getName());
35
36 AbstractConnector c = (AbstractConnector)MuleManager.getInstance().lookupConnector("myTestConnector");
37 assertNotNull(c);
38 assertTrue(c.getConnectionStrategy() instanceof SimpleRetryConnectionStrategy);
39 assertEquals(4, ((SimpleRetryConnectionStrategy)c.getConnectionStrategy()).getRetryCount());
40
41 UMODescriptor d = MuleManager.getInstance().lookupModel("blah").getDescriptor("test-from-env-props");
42 assertNotNull(d);
43 assertEquals(d.getInboundEndpoint().getEndpointURI().toString(), "test://test.1");
44 assertEquals(d.getOutboundEndpoint().getEndpointURI().toString(), "test://test.2");
45 }
46
47 public void testPropertyWithoutOverrides()
48 {
49
50 UMODescriptor d = MuleManager.getInstance().lookupModel("blah").getDescriptor("test2");
51 assertNotNull(d);
52 UMOEndpoint endpoint = d.getInboundRouter().getEndpoint("ep1");
53 assertNotNull(endpoint);
54 assertNotNull(endpoint.getProperties());
55 assertEquals(3, endpoint.getProperties().size());
56 assertEquals("value1", endpoint.getProperties().get("prop1"));
57 assertEquals("overrideValue2", endpoint.getProperties().get("prop2"));
58 assertEquals("value3", endpoint.getProperties().get("prop3"));
59 }
60
61 public void testPropertyWithOverrides()
62 {
63
64 UMODescriptor d = MuleManager.getInstance().lookupModel("blah").getDescriptor("test3");
65 assertNotNull(d);
66 UMOEndpoint endpoint = d.getInboundRouter().getEndpoint("ep2");
67 assertNotNull(endpoint);
68 assertEquals("test://embedded", endpoint.getEndpointURI().getUri().toString());
69 assertNotNull(endpoint.getProperties());
70 assertEquals(3, endpoint.getProperties().size());
71 assertEquals("value1", endpoint.getProperties().get("prop1"));
72 assertEquals("value2", endpoint.getProperties().get("prop2"));
73 assertEquals("value3", endpoint.getProperties().get("prop3"));
74 }
75
76 public void testPropertyMapsListsEtc()
77 {
78
79 UMODescriptor d = MuleManager.getInstance().lookupModel("blah").getDescriptor("test3");
80 assertNotNull(d);
81 Map props = (Map)d.getProperties().get("testMap");
82 assertNotNull(props);
83 assertEquals("foo entry", props.get("foo"));
84
85 List list = (List)d.getProperties().get("testList");
86 assertNotNull(list);
87 assertEquals("bar entry", list.get(0).toString());
88
89 assertEquals("${this should not be found}", d.getProperties().get("blah"));
90 assertEquals("two tags foo entry and bar entry.", d.getProperties().get("foobar"));
91 }
92 }