View Javadoc

1   /*
2    * $Id: ConnectorServiceOverridesTestCase.java 22414 2011-07-14 13:24:46Z dirk.olmes $
3    * --------------------------------------------------------------------------------------
4    * Copyright (c) MuleSoft, Inc.  All rights reserved.  http://www.mulesoft.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.transport.file;
12  
13  import org.mule.api.MuleException;
14  import org.mule.api.endpoint.EndpointBuilder;
15  import org.mule.api.endpoint.ImmutableEndpoint;
16  import org.mule.endpoint.EndpointURIEndpointBuilder;
17  import org.mule.tck.junit4.FunctionalTestCase;
18  import org.mule.transformer.TransformerUtils;
19  import org.mule.transformer.simple.ByteArrayToSerializable;
20  import org.mule.transformer.simple.SerializableToByteArray;
21  import org.mule.transport.AbstractConnector;
22  
23  import org.junit.Test;
24  
25  import static org.junit.Assert.assertEquals;
26  import static org.junit.Assert.assertNotNull;
27  import static org.junit.Assert.assertNull;
28  import static org.junit.Assert.assertTrue;
29  
30  public class ConnectorServiceOverridesTestCase extends FunctionalTestCase
31  {
32  
33      @Override
34      protected String getConfigResources()
35      {
36          return "test-connector-config.xml";
37      }
38  
39      @Test
40      public void testServiceOverrides() throws InterruptedException
41      {
42          FileConnector c = (FileConnector) muleContext.getRegistry().lookupConnector("fileConnector2");
43          assertNotNull(c);
44          assertNotNull(c.getServiceOverrides());
45          assertEquals("org.mule.transformer.simple.ByteArrayToSerializable", c.getServiceOverrides().get(
46              "inbound.transformer"));
47          assertNotNull(TransformerUtils.firstOrNull(c.getDefaultInboundTransformers(null)));
48          assertNotNull(TransformerUtils.firstOrNull(c.getDefaultOutboundTransformers(null)));
49          assertTrue(TransformerUtils.firstOrNull(c.getDefaultInboundTransformers(null)) instanceof ByteArrayToSerializable);
50          assertTrue(TransformerUtils.firstOrNull(c.getDefaultOutboundTransformers(null)) instanceof SerializableToByteArray);
51      }
52  
53      @Test
54      public void testServiceOverrides2() throws InterruptedException
55      {
56          FileConnector c = (FileConnector) muleContext.getRegistry().lookupConnector("fileConnector1");
57          assertNotNull(c);
58          assertNull(c.getServiceOverrides());
59  
60          c = (FileConnector) muleContext.getRegistry().lookupConnector("fileConnector2");
61          assertNotNull(c);
62          assertNotNull(c.getServiceOverrides());
63  
64          c = (FileConnector) muleContext.getRegistry().lookupConnector("fileConnector3");
65          assertNotNull(c);
66          assertNull(c.getServiceOverrides());
67      }
68  
69      @Test
70      public void testServiceOverrides3() throws InterruptedException, MuleException
71      {
72          // EndpointURI uri = new MuleEndpointURI("file:///temp?connector=fileConnector1");
73          ImmutableEndpoint endpoint = muleContext.getEndpointFactory().getInboundEndpoint(
74              "file:///temp?connector=fileConnector1");
75  
76          assertNotNull(endpoint);
77          assertNotNull(endpoint.getConnector());
78          assertNull(((AbstractConnector) endpoint.getConnector()).getServiceOverrides());
79  
80          FileConnector c = (FileConnector) muleContext.getRegistry().lookupConnector("fileConnector2");
81          assertNotNull(c);
82          assertNotNull(c.getServiceOverrides());
83  
84          EndpointBuilder builder = new EndpointURIEndpointBuilder("file:///temp?connector=fileConnector1",
85              muleContext);
86          builder.setConnector(c);
87          endpoint = muleContext.getEndpointFactory().getInboundEndpoint(builder);
88          assertNotNull(((AbstractConnector) endpoint.getConnector()).getServiceOverrides());
89  
90          EndpointBuilder builder2 = new EndpointURIEndpointBuilder("file:///temp?connector=fileConnector3",
91              muleContext);
92          builder.setConnector(c);
93          endpoint = muleContext.getEndpointFactory().getInboundEndpoint(builder2);
94          assertNull(((AbstractConnector) endpoint.getConnector()).getServiceOverrides());
95  
96          EndpointBuilder builder3 = new EndpointURIEndpointBuilder("file:///temp?connector=fileConnector2",
97              muleContext);
98          builder.setConnector(c);
99          endpoint = muleContext.getEndpointFactory().getInboundEndpoint(builder3);
100         assertNotNull(((AbstractConnector) endpoint.getConnector()).getServiceOverrides());
101     }
102 }