1   /*
2    * $Id: PropertyTemplatesTestCase.java 7963 2007-08-21 08:53:15Z dirk.olmes $
3    * --------------------------------------------------------------------------------------
4    * Copyright (c) MuleSource, Inc.  All rights reserved.  http://www.mulesource.com
5    *
6    * The software in this package is published under the terms of the CPAL v1.0
7    * license, a copy of which has been included with this distribution in the
8    * LICENSE.txt file.
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  }