1
2
3
4
5
6
7
8
9
10
11 package org.mule.transport.sftp;
12
13 import static org.junit.Assert.assertEquals;
14 import static org.junit.Assert.assertFalse;
15 import static org.junit.Assert.assertTrue;
16
17 import java.util.Arrays;
18 import java.util.Collection;
19
20 import org.junit.Test;
21 import org.junit.runners.Parameterized.Parameters;
22 import org.mule.api.MuleException;
23 import org.mule.api.endpoint.EndpointURI;
24 import org.mule.api.endpoint.ImmutableEndpoint;
25 import org.mule.endpoint.MuleEndpointURI;
26 import org.mule.module.client.MuleClient;
27
28 public class SftpEndpointTestCase extends AbstractSftpTestCase
29 {
30 public SftpEndpointTestCase(ConfigVariant variant, String configResources)
31 {
32 super(variant, configResources);
33 }
34
35 @Parameters
36 public static Collection<Object[]> parameters()
37 {
38 return Arrays.asList(new Object[][]{
39 {ConfigVariant.SERVICE, "mule-sftp-endpoint-config-service.xml"},
40 {ConfigVariant.FLOW, "mule-sftp-endpoint-config-flow.xml"}
41 });
42 }
43
44
45
46
47
48 @Test
49 public void testValidEndpointURI() throws Exception
50 {
51
52
53 EndpointURI url = new MuleEndpointURI("sftp://ms/data", muleContext);
54 assertEquals("sftp", url.getScheme());
55 assertEquals("ms", url.getHost());
56 assertEquals(0, url.getParams().size());
57 assertEquals("/data", url.getPath());
58
59 }
60
61 @Test
62 public void testValidEndpointURIWithUserAndPasswd() throws Exception
63 {
64 EndpointURI url = new MuleEndpointURI("sftp://user1:passwd1@localhost:4242/data2", muleContext);
65 assertEquals("sftp", url.getScheme());
66 assertEquals("localhost", url.getHost());
67 assertEquals(4242, url.getPort());
68 assertEquals("passwd1", url.getPassword());
69 assertEquals("user1", url.getUser());
70
71 assertEquals(0, url.getParams().size());
72
73 }
74
75 @Test
76 public void testEndpointConfig() throws MuleException
77 {
78 MuleClient muleClient = new MuleClient(muleContext);
79 ImmutableEndpoint endpoint1 = (ImmutableEndpoint) muleClient.getProperty("inboundEndpoint1");
80
81 EndpointURI url1 = endpoint1.getEndpointURI();
82 assertEquals("sftp", url1.getScheme());
83 assertEquals("foobar-host", url1.getHost());
84 assertEquals(4243, url1.getPort());
85 assertEquals("passw0rd", url1.getPassword());
86 assertEquals("user42", url1.getUser());
87
88 assertEquals("sftp://user42:passw0rd@foobar-host:4243/data", url1.getUri().toString());
89
90
91 ImmutableEndpoint endpoint2 = (ImmutableEndpoint) muleClient.getProperty("inboundEndpoint2");
92 EndpointURI url2 = endpoint2.getEndpointURI();
93
94 assertEquals("sftp", url2.getScheme());
95 assertEquals("foobar-host", url2.getHost());
96 assertEquals(4243, url2.getPort());
97 assertEquals("passw0rd", url2.getPassword());
98 assertEquals("user42", url2.getUser());
99
100 assertEquals(url1.getUri().toString(), url2.getUri().toString());
101
102 ImmutableEndpoint outboundEndpoint1 = (ImmutableEndpoint) muleClient.getProperty("outboundEndpoint1");
103 ImmutableEndpoint outboundEndpoint2 = (ImmutableEndpoint) muleClient.getProperty("outboundEndpoint2");
104
105 SftpUtil oUtil1 = new SftpUtil(outboundEndpoint1);
106 SftpUtil oUtil2 = new SftpUtil(outboundEndpoint2);
107
108 assertTrue("'keepFileOnError' should be on by default", oUtil1.isKeepFileOnError());
109 assertFalse("'keepFileOnError' should be false", oUtil2.isKeepFileOnError());
110 }
111
112 }