1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.vfs2.provider.ftps;
18
19 import java.io.IOException;
20 import java.net.SocketException;
21
22 import org.apache.commons.net.ftp.FTPSClient;
23 import org.apache.commons.vfs2.FileObject;
24 import org.apache.commons.vfs2.FileSystemException;
25 import org.apache.commons.vfs2.VFS;
26 import org.apache.ftpserver.ftplet.FtpException;
27 import org.junit.AfterClass;
28 import org.junit.BeforeClass;
29 import org.junit.Test;
30
31 public class MultipleConnectionTestCase {
32
33 @BeforeClass
34 public static void setUpClass() throws FtpException, IOException {
35 AbstractFtpsProviderTestCase.setUpClass(true);
36 }
37
38 @AfterClass
39 public static void tearDownClass() {
40 AbstractFtpsProviderTestCase.tearDownClass();
41 }
42
43 private FTPSClient init(final FTPSClient client) {
44 client.enterLocalPassiveMode();
45 return client;
46 }
47
48 private FileObject resolveRoot() throws FileSystemException {
49 return VFS.getManager().resolveFile(AbstractFtpsProviderTestCase.getConnectionUri(),
50 new FtpsProviderImplicitTestCase().getFileSystemOptions());
51 }
52
53 @Test
54 public void testConnectRoot() throws IOException {
55 resolveRoot();
56 resolveRoot();
57 }
58
59 @Test
60 public void testUnderlyingConnect() throws SocketException, IOException {
61 final FTPSClient client1 = this.init(new FTPSClient(true));
62 final FTPSClient client2 = this.init(new FTPSClient(true));
63 try {
64 final String hostname = "localhost";
65 client1.connect(hostname, AbstractFtpsProviderTestCase.getSocketPort());
66 client2.connect(hostname, AbstractFtpsProviderTestCase.getSocketPort());
67 } finally {
68 if (client1 != null) {
69 client1.disconnect();
70 }
71 if (client2 != null) {
72 client2.disconnect();
73 }
74 }
75 }
76 }