1
2
3
4
5
6
7
8
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
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 }