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