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