Author: ggregory Date: Wed Apr 25 19:43:34 2012 New Revision: 1330514 URL: http://svn.apache.org/viewvc?rev=1330514&view=rev Log: - Add test suite for FTPS BUT this is disabled because we cannot read from more than one stream at a time! This works fine with plain FTP. Some tests pass and others fail but there is no way to disable individual tests with the current test framework. - The goal is to be able to test FTPS now, with VFS-412 commented in, and any other FTPS changes. - Add commented out code for VFS-412. - Refactor magic strings into constants. - Minor Javadoc changes.
Added: commons/proper/vfs/trunk/core/src/test/java/org/apache/commons/vfs2/provider/ftps/ commons/proper/vfs/trunk/core/src/test/java/org/apache/commons/vfs2/provider/ftps/test/ commons/proper/vfs/trunk/core/src/test/java/org/apache/commons/vfs2/provider/ftps/test/FtpsProviderPROTTestCase_Disabled.java (with props) commons/proper/vfs/trunk/core/src/test/java/org/apache/commons/vfs2/provider/ftps/test/FtpsProviderTestCase_Disabled.java (with props) commons/proper/vfs/trunk/core/src/test/java/org/apache/commons/vfs2/provider/ftps/test/MultipleConnectionTestCase.java (with props) commons/proper/vfs/trunk/core/src/test/resources/org.apache.ftpsserver/ commons/proper/vfs/trunk/core/src/test/resources/org.apache.ftpsserver/ftpserver.jks (with props) commons/proper/vfs/trunk/core/src/test/resources/org.apache.ftpsserver/users.properties (with props) Modified: commons/proper/vfs/trunk/core/src/main/java/org/apache/commons/vfs2/FileSystemOptions.java commons/proper/vfs/trunk/core/src/main/java/org/apache/commons/vfs2/provider/ftps/FtpsClientFactory.java commons/proper/vfs/trunk/core/src/main/java/org/apache/commons/vfs2/provider/ftps/FtpsFileSystemConfigBuilder.java commons/proper/vfs/trunk/core/src/test/java/org/apache/commons/vfs2/RunTest.java Modified: commons/proper/vfs/trunk/core/src/main/java/org/apache/commons/vfs2/FileSystemOptions.java URL: http://svn.apache.org/viewvc/commons/proper/vfs/trunk/core/src/main/java/org/apache/commons/vfs2/FileSystemOptions.java?rev=1330514&r1=1330513&r2=1330514&view=diff ============================================================================== --- commons/proper/vfs/trunk/core/src/main/java/org/apache/commons/vfs2/FileSystemOptions.java (original) +++ commons/proper/vfs/trunk/core/src/main/java/org/apache/commons/vfs2/FileSystemOptions.java Wed Apr 25 19:43:34 2012 @@ -26,6 +26,7 @@ import java.util.TreeMap; * * @see org.apache.commons.vfs2.provider.sftp.SftpFileSystemConfigBuilder * @see org.apache.commons.vfs2.provider.ftp.FtpFileSystemConfigBuilder + * @see org.apache.commons.vfs2.provider.ftps.FtpsFileSystemConfigBuilder */ public final class FileSystemOptions implements Cloneable { Modified: commons/proper/vfs/trunk/core/src/main/java/org/apache/commons/vfs2/provider/ftps/FtpsClientFactory.java URL: http://svn.apache.org/viewvc/commons/proper/vfs/trunk/core/src/main/java/org/apache/commons/vfs2/provider/ftps/FtpsClientFactory.java?rev=1330514&r1=1330513&r2=1330514&view=diff ============================================================================== --- commons/proper/vfs/trunk/core/src/main/java/org/apache/commons/vfs2/provider/ftps/FtpsClientFactory.java (original) +++ commons/proper/vfs/trunk/core/src/main/java/org/apache/commons/vfs2/provider/ftps/FtpsClientFactory.java Wed Apr 25 19:43:34 2012 @@ -71,11 +71,11 @@ public final class FtpsClientFactory final FTPSClient client; - if (FtpsFileSystemConfigBuilder.getInstance().getFtpsType(fileSystemOptions).equals("explicit")) + if (FtpsFileSystemConfigBuilder.getInstance().getFtpsType(fileSystemOptions).equals(FtpsFileSystemConfigBuilder.FTPS_TYPE_EXPLICIT)) { client = new FTPSClient(); } - else if (FtpsFileSystemConfigBuilder.getInstance().getFtpsType(fileSystemOptions).equals("implicit")) + else if (FtpsFileSystemConfigBuilder.getInstance().getFtpsType(fileSystemOptions).equals(FtpsFileSystemConfigBuilder.FTPS_TYPE_IMPLICIT)) { client = new FTPSClient(true); } @@ -145,6 +145,13 @@ public final class FtpsClientFactory { client.connect(hostname, port); +// For VFS-412 +// String execPROT = FtpsFileSystemConfigBuilder.getInstance().getDataChannelProtectionLevel(fileSystemOptions); +// if (execPROT != null) +// { +// client.execPROT(execPROT); +// } + int reply = client.getReplyCode(); if (!FTPReply.isPositiveCompletion(reply)) { Modified: commons/proper/vfs/trunk/core/src/main/java/org/apache/commons/vfs2/provider/ftps/FtpsFileSystemConfigBuilder.java URL: http://svn.apache.org/viewvc/commons/proper/vfs/trunk/core/src/main/java/org/apache/commons/vfs2/provider/ftps/FtpsFileSystemConfigBuilder.java?rev=1330514&r1=1330513&r2=1330514&view=diff ============================================================================== --- commons/proper/vfs/trunk/core/src/main/java/org/apache/commons/vfs2/provider/ftps/FtpsFileSystemConfigBuilder.java (original) +++ commons/proper/vfs/trunk/core/src/main/java/org/apache/commons/vfs2/provider/ftps/FtpsFileSystemConfigBuilder.java Wed Apr 25 19:43:34 2012 @@ -42,7 +42,6 @@ public final class FtpsFileSystemConfigB FtpsFileSystemConfigBuilder.class.getName() + ".DATA_TIMEOUT"; private static final String FTPS_TYPE = FtpsFileSystemConfigBuilder.class.getName() + ".FTPS_TYPE"; - private static final String SERVER_LANGUAGE_CODE = FtpsFileSystemConfigBuilder.class.getName() + ".SERVER_LANGUAGE_CODE"; private static final String DEFAULT_DATE_FORMAT = @@ -53,6 +52,11 @@ public final class FtpsFileSystemConfigB FtpsFileSystemConfigBuilder.class.getName() + ".SERVER_TIME_ZONE_ID"; private static final String SHORT_MONTH_NAMES = FtpsFileSystemConfigBuilder.class.getName() + ".SHORT_MONTH_NAMES"; + public static final String FTPS_TYPE_IMPLICIT = "implicit"; + public static final String FTPS_TYPE_EXPLICIT = "explicit"; +// For VFS-412 +// private static final String PROT = +// FtpsFileSystemConfigBuilder.class.getName() + ".PROT"; private FtpsFileSystemConfigBuilder() { @@ -178,7 +182,7 @@ public final class FtpsFileSystemConfigB */ public String getFtpsType(FileSystemOptions opts) { - return getString(opts, FTPS_TYPE, "explicit"); + return getString(opts, FTPS_TYPE, FtpsFileSystemConfigBuilder.FTPS_TYPE_EXPLICIT); } /** @@ -319,4 +323,32 @@ public final class FtpsFileSystemConfigB setParam(opts, SHORT_MONTH_NAMES, clone); } + + +// For VFS-412 +// /** +// * Gets the data channel protection level (PROT). +// * +// * @param opts The FileSystemOptions. +// * @return The PROT value. +// * @see org.apache.commons.net.ftp.FTPSClient#execPROT(String) +// * @since 2.1 +// */ +// public String getDataChannelProtectionLevel(FileSystemOptions opts) +// { +// return (String) getParam(opts, PROT); +// } +// +// /** +// * Sets the data channel protection level (PROT). +// * +// * @param opts The FileSystemOptions. +// * @param prot The PROT value, {@code null} has no effect. +// * @see org.apache.commons.net.ftp.FTPSClient#execPROT(String) +// * @since 2.1 +// */ +// public void setDataChannelProtectionLevel(FileSystemOptions opts, String prot) +// { +// setParam(opts, PROT, prot); +// } } Modified: commons/proper/vfs/trunk/core/src/test/java/org/apache/commons/vfs2/RunTest.java URL: http://svn.apache.org/viewvc/commons/proper/vfs/trunk/core/src/test/java/org/apache/commons/vfs2/RunTest.java?rev=1330514&r1=1330513&r2=1330514&view=diff ============================================================================== --- commons/proper/vfs/trunk/core/src/test/java/org/apache/commons/vfs2/RunTest.java (original) +++ commons/proper/vfs/trunk/core/src/test/java/org/apache/commons/vfs2/RunTest.java Wed Apr 25 19:43:34 2012 @@ -38,6 +38,9 @@ public class RunTest "smb://HOME\\vfsusr:vfs%2f%25\\te:st@" + ip + "/vfsusr/vfstest"); props.setProperty("test.ftp.uri", "ftp://vfsusr:vfs%2f%25\\te:st@" + ip + "/vfstest"); + props.setProperty("test.ftps.uri", + "ftps://vfsusr:vfs%2f%25\\te:st@" + ip + "/vfstest"); + props.setProperty("test.http.uri", "http://" + ip + "/vfstest"); props.setProperty("test.webdav.uri", "webdav://vfsusr:vfs%2f%25\\te:st@" + ip + "/vfstest"); Added: commons/proper/vfs/trunk/core/src/test/java/org/apache/commons/vfs2/provider/ftps/test/FtpsProviderPROTTestCase_Disabled.java URL: http://svn.apache.org/viewvc/commons/proper/vfs/trunk/core/src/test/java/org/apache/commons/vfs2/provider/ftps/test/FtpsProviderPROTTestCase_Disabled.java?rev=1330514&view=auto ============================================================================== --- commons/proper/vfs/trunk/core/src/test/java/org/apache/commons/vfs2/provider/ftps/test/FtpsProviderPROTTestCase_Disabled.java (added) +++ commons/proper/vfs/trunk/core/src/test/java/org/apache/commons/vfs2/provider/ftps/test/FtpsProviderPROTTestCase_Disabled.java Wed Apr 25 19:43:34 2012 @@ -0,0 +1,44 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.commons.vfs2.provider.ftps.test; + +import org.apache.commons.vfs2.FileSystemOptions; +import org.apache.commons.vfs2.provider.ftps.FtpsFileSystemConfigBuilder; + +/** + * Tests VFS-412. + */ +public class FtpsProviderPROTTestCase_Disabled extends FtpsProviderTestCase_Disabled +{ + + @Override + protected FileSystemOptions getFileSystemOptions() + { + if (fileSystemOptions == null) + { + fileSystemOptions = new FileSystemOptions(); + final FtpsFileSystemConfigBuilder builder = FtpsFileSystemConfigBuilder.getInstance(); + builder.setPassiveMode(fileSystemOptions, true); + builder.setDataTimeout(fileSystemOptions, Integer.valueOf(2000)); + builder.setFtpsType(fileSystemOptions, FtpsFileSystemConfigBuilder.FTPS_TYPE_IMPLICIT); + // For VFS-412 + // builder.setDataChannelProtectionLevel(fileSystemOptions, "P"); + } + return fileSystemOptions; + } + +} Propchange: commons/proper/vfs/trunk/core/src/test/java/org/apache/commons/vfs2/provider/ftps/test/FtpsProviderPROTTestCase_Disabled.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: commons/proper/vfs/trunk/core/src/test/java/org/apache/commons/vfs2/provider/ftps/test/FtpsProviderPROTTestCase_Disabled.java ------------------------------------------------------------------------------ svn:keywords = Id Added: commons/proper/vfs/trunk/core/src/test/java/org/apache/commons/vfs2/provider/ftps/test/FtpsProviderTestCase_Disabled.java URL: http://svn.apache.org/viewvc/commons/proper/vfs/trunk/core/src/test/java/org/apache/commons/vfs2/provider/ftps/test/FtpsProviderTestCase_Disabled.java?rev=1330514&view=auto ============================================================================== --- commons/proper/vfs/trunk/core/src/test/java/org/apache/commons/vfs2/provider/ftps/test/FtpsProviderTestCase_Disabled.java (added) +++ commons/proper/vfs/trunk/core/src/test/java/org/apache/commons/vfs2/provider/ftps/test/FtpsProviderTestCase_Disabled.java Wed Apr 25 19:43:34 2012 @@ -0,0 +1,216 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.commons.vfs2.provider.ftps.test; + +import java.io.File; +import java.io.IOException; +import java.net.URL; + +import junit.framework.Test; + +import org.apache.commons.vfs2.FileObject; +import org.apache.commons.vfs2.FileSystemManager; +import org.apache.commons.vfs2.FileSystemOptions; +import org.apache.commons.vfs2.impl.DefaultFileSystemManager; +import org.apache.commons.vfs2.provider.ftps.FtpsFileProvider; +import org.apache.commons.vfs2.provider.ftps.FtpsFileSystemConfigBuilder; +import org.apache.commons.vfs2.test.AbstractProviderTestConfig; +import org.apache.commons.vfs2.test.ProviderTestConfig; +import org.apache.commons.vfs2.test.ProviderTestSuite; +import org.apache.commons.vfs2.util.FreeSocketPortUtil; +import org.apache.ftpserver.FtpServer; +import org.apache.ftpserver.FtpServerFactory; +import org.apache.ftpserver.ftplet.FtpException; +import org.apache.ftpserver.ftplet.UserManager; +import org.apache.ftpserver.listener.ListenerFactory; +import org.apache.ftpserver.ssl.SslConfigurationFactory; +import org.apache.ftpserver.usermanager.PropertiesUserManagerFactory; +import org.apache.ftpserver.usermanager.impl.BaseUser; +import org.junit.Assert; + +/** + * Tests for FTP file systems. + * + * This is test fails because we cannot read from more than two input streams at the same time. + */ +public class FtpsProviderTestCase_Disabled extends AbstractProviderTestConfig implements ProviderTestConfig +{ + + private static int SocketPort; + + /** + * Use %40 for @ in URLs + */ + private static String ConnectionUri; + + private static FtpServer Server; + + protected FileSystemOptions fileSystemOptions; + + private static final String TEST_URI = "test.ftps.uri"; + + private static final String USER_PROPS_RES = "org.apache.ftpsserver/users.properties"; + + private static final String SERVER_JKS_RES = "org.apache.ftpsserver/ftpserver.jks"; + + static String getConnectionUri() + { + return ConnectionUri; + } + + static int getSocketPort() + { + return SocketPort; + } + + private static String getSystemTestUriOverride() + + { + return System.getProperty(TEST_URI); + } + + static void init() throws IOException + { + SocketPort = FreeSocketPortUtil.findFreeLocalPort(); + // Use %40 for @ in a URL + ConnectionUri = "ftps://test:test@localhost:" + SocketPort; + } + + /** + * Creates and starts an embedded Apache FTP Server (MINA). + * + * @throws FtpException + * @throws IOException + */ + static void setUpClass() throws FtpException, IOException + { + if (Server != null) + { + return; + } + init(); + final FtpServerFactory serverFactory = new FtpServerFactory(); + final PropertiesUserManagerFactory propertiesUserManagerFactory = new PropertiesUserManagerFactory(); + final URL userPropsResource = ClassLoader.getSystemClassLoader().getResource(USER_PROPS_RES); + Assert.assertNotNull(USER_PROPS_RES, userPropsResource); + propertiesUserManagerFactory.setUrl(userPropsResource); + final UserManager userManager = propertiesUserManagerFactory.createUserManager(); + final BaseUser user = (BaseUser) userManager.getUserByName("test"); + // Pickup the home dir value at runtime even though we have it set in the user prop file + // The user prop file requires the "homedirectory" to be set + user.setHomeDirectory(getTestDirectory()); + serverFactory.setUserManager(userManager); + ListenerFactory factory = new ListenerFactory(); + // set the port of the listener + factory.setPort(SocketPort); + + // define SSL configuration + final URL serverJksResource = ClassLoader.getSystemClassLoader().getResource(SERVER_JKS_RES); + Assert.assertNotNull(SERVER_JKS_RES, serverJksResource); + SslConfigurationFactory ssl = new SslConfigurationFactory(); + final File keyStoreFile = new File(serverJksResource.getFile()); + Assert.assertTrue(keyStoreFile.toString(), keyStoreFile.exists()); + ssl.setKeystoreFile(keyStoreFile); + ssl.setKeystorePassword("password"); + + // set the SSL configuration for the listener + factory.setSslConfiguration(ssl.createSslConfiguration()); + factory.setImplicitSsl(true); + + // replace the default listener + serverFactory.addListener("default", factory.createListener()); + + // start the server + Server = serverFactory.createServer(); + Server.start(); + } + + /** + * Creates the test suite for the ftp file system. + */ + public static Test suite() throws Exception + { + return new ProviderTestSuite(new FtpsProviderTestCase_Disabled()) + { + @Override + protected void setUp() throws Exception + { + if (getSystemTestUriOverride() == null) + { + setUpClass(); + } + super.setUp(); + } + + @Override + protected void tearDown() throws Exception + { + tearDownClass(); + super.tearDown(); + } + }; + } + + /** + * Stops the embedded Apache FTP Server (MINA). + */ + static void tearDownClass() + { + if (Server != null) + { + Server.stop(); + Server = null; + } + } + + /** + * Returns the base folder for tests. You can override the DEFAULT_URI by using the system property name defined by + * TEST_URI. + */ + @Override + public FileObject getBaseTestFolder(final FileSystemManager manager) throws Exception + { + String uri = getSystemTestUriOverride(); + if (uri == null) + { + uri = ConnectionUri; + } + return manager.resolveFile(uri, getFileSystemOptions()); + } + + protected FileSystemOptions getFileSystemOptions() + { + if (fileSystemOptions == null) + { + fileSystemOptions = new FileSystemOptions(); + final FtpsFileSystemConfigBuilder builder = FtpsFileSystemConfigBuilder.getInstance(); + builder.setPassiveMode(fileSystemOptions, true); + builder.setDataTimeout(fileSystemOptions, Integer.valueOf(2000)); + builder.setFtpsType(fileSystemOptions, FtpsFileSystemConfigBuilder.FTPS_TYPE_IMPLICIT); + } + return fileSystemOptions; + } + + /** + * Prepares the file system manager. + */ + @Override + public void prepare(final DefaultFileSystemManager manager) throws Exception + { + manager.addProvider("ftps", new FtpsFileProvider()); + } +} Propchange: commons/proper/vfs/trunk/core/src/test/java/org/apache/commons/vfs2/provider/ftps/test/FtpsProviderTestCase_Disabled.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: commons/proper/vfs/trunk/core/src/test/java/org/apache/commons/vfs2/provider/ftps/test/FtpsProviderTestCase_Disabled.java ------------------------------------------------------------------------------ svn:keywords = Id Added: commons/proper/vfs/trunk/core/src/test/java/org/apache/commons/vfs2/provider/ftps/test/MultipleConnectionTestCase.java URL: http://svn.apache.org/viewvc/commons/proper/vfs/trunk/core/src/test/java/org/apache/commons/vfs2/provider/ftps/test/MultipleConnectionTestCase.java?rev=1330514&view=auto ============================================================================== --- commons/proper/vfs/trunk/core/src/test/java/org/apache/commons/vfs2/provider/ftps/test/MultipleConnectionTestCase.java (added) +++ commons/proper/vfs/trunk/core/src/test/java/org/apache/commons/vfs2/provider/ftps/test/MultipleConnectionTestCase.java Wed Apr 25 19:43:34 2012 @@ -0,0 +1,88 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.commons.vfs2.provider.ftps.test; + +import java.io.IOException; +import java.net.MalformedURLException; +import java.net.SocketException; + +import org.apache.commons.net.ftp.FTPSClient; +import org.apache.commons.vfs2.FileObject; +import org.apache.commons.vfs2.FileSystemException; +import org.apache.commons.vfs2.VFS; +import org.apache.ftpserver.ftplet.FtpException; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; + +public class MultipleConnectionTestCase +{ + + @BeforeClass + public static void setUpClass() throws FtpException, IOException + { + FtpsProviderTestCase_Disabled.setUpClass(); + } + + @AfterClass + public static void tearDownClass() throws MalformedURLException, FtpException + { + FtpsProviderTestCase_Disabled.tearDownClass(); + } + + private FTPSClient init(FTPSClient client) + { + client.enterLocalPassiveMode(); + return client; + } + + private FileObject resolveRoot() throws FileSystemException + { + return VFS.getManager().resolveFile(FtpsProviderTestCase_Disabled.getConnectionUri(), + new FtpsProviderTestCase_Disabled().getFileSystemOptions()); + } + + @Test + public void testConnectRoot() throws SocketException, IOException + { + resolveRoot(); + resolveRoot(); + } + + @Test + public void testUnderlyingConnect() throws SocketException, IOException + { + FTPSClient client1 = this.init(new FTPSClient(true)); + FTPSClient client2 = this.init(new FTPSClient(true)); + try + { + final String hostname = "localhost"; + client1.connect(hostname, FtpsProviderTestCase_Disabled.getSocketPort()); + client2.connect(hostname, FtpsProviderTestCase_Disabled.getSocketPort()); + } finally + { + if (client1 != null) + { + client1.disconnect(); + } + if (client2 != null) + { + client2.disconnect(); + } + } + } +} Propchange: commons/proper/vfs/trunk/core/src/test/java/org/apache/commons/vfs2/provider/ftps/test/MultipleConnectionTestCase.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: commons/proper/vfs/trunk/core/src/test/java/org/apache/commons/vfs2/provider/ftps/test/MultipleConnectionTestCase.java ------------------------------------------------------------------------------ svn:keywords = Id Added: commons/proper/vfs/trunk/core/src/test/resources/org.apache.ftpsserver/ftpserver.jks URL: http://svn.apache.org/viewvc/commons/proper/vfs/trunk/core/src/test/resources/org.apache.ftpsserver/ftpserver.jks?rev=1330514&view=auto ============================================================================== Binary file - no diff available. Propchange: commons/proper/vfs/trunk/core/src/test/resources/org.apache.ftpsserver/ftpserver.jks ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: commons/proper/vfs/trunk/core/src/test/resources/org.apache.ftpsserver/users.properties URL: http://svn.apache.org/viewvc/commons/proper/vfs/trunk/core/src/test/resources/org.apache.ftpsserver/users.properties?rev=1330514&view=auto ============================================================================== --- commons/proper/vfs/trunk/core/src/test/resources/org.apache.ftpsserver/users.properties (added) +++ commons/proper/vfs/trunk/core/src/test/resources/org.apache.ftpsserver/users.properties Wed Apr 25 19:43:34 2012 @@ -0,0 +1,43 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +# Password is "admin" +ftpserver.user.admin.userpassword=21232F297A57A5A743894A0E4A801FC3 +ftpserver.user.admin.homedirectory=target/test-classes/test-data +ftpserver.user.admin.enableflag=true +ftpserver.user.admin.writepermission=true +ftpserver.user.admin.maxloginnumber=0 +ftpserver.user.admin.maxloginperip=0 +ftpserver.user.admin.idletime=0 +ftpserver.user.admin.uploadrate=0 +ftpserver.user.admin.downloadrate=0 + +ftpserver.user.anonymous.userpassword= +ftpserver.user.anonymous.homedirectory=target/test-classes/test-data +ftpserver.user.anonymous.enableflag=true +ftpserver.user.anonymous.writepermission=false +ftpserver.user.anonymous.maxloginnumber=20 +ftpserver.user.anonymous.maxloginperip=2 +ftpserver.user.anonymous.idletime=300 +ftpserver.user.anonymous.uploadrate=4800 +ftpserver.user.anonymous.downloadrate=4800 + +# password is "test" +ftpserver.user.test.userpassword=098f6bcd4621d373cade4e832627b4f6 +ftpserver.user.test.homedirectory=target/test-classes/test-data +ftpserver.user.test.enableflag=true +ftpserver.user.test.writepermission=true Propchange: commons/proper/vfs/trunk/core/src/test/resources/org.apache.ftpsserver/users.properties ------------------------------------------------------------------------------ svn:eol-style = native Propchange: commons/proper/vfs/trunk/core/src/test/resources/org.apache.ftpsserver/users.properties ------------------------------------------------------------------------------ svn:keywords = Id