From bf241e35aa5089bc35c63f81e765b74e9707ab98 Mon Sep 17 00:00:00 2001 From: Woonsan Ko Date: Thu, 8 Dec 2016 11:45:30 -0500 Subject: [PATCH 1/2] JCR-4077: Removing http dependency (indirect by using http-based FSO) in test case. --- jackrabbit-vfs-ext/pom.xml | 6 ---- .../vfs/ext/ds/TestVFSDataStore.java | 29 ++++++++++++------- 2 files changed, 19 insertions(+), 16 deletions(-) diff --git a/jackrabbit-vfs-ext/pom.xml b/jackrabbit-vfs-ext/pom.xml index 4804ef6cf08..1bdb1898654 100644 --- a/jackrabbit-vfs-ext/pom.xml +++ b/jackrabbit-vfs-ext/pom.xml @@ -57,12 +57,6 @@ jackrabbit-data ${project.version} - - - org.apache.jackrabbit - jackrabbit-webdav - ${project.version} - org.slf4j slf4j-api diff --git a/jackrabbit-vfs-ext/src/test/java/org/apache/jackrabbit/vfs/ext/ds/TestVFSDataStore.java b/jackrabbit-vfs-ext/src/test/java/org/apache/jackrabbit/vfs/ext/ds/TestVFSDataStore.java index 9a665a4f063..57d1f959707 100644 --- a/jackrabbit-vfs-ext/src/test/java/org/apache/jackrabbit/vfs/ext/ds/TestVFSDataStore.java +++ b/jackrabbit-vfs-ext/src/test/java/org/apache/jackrabbit/vfs/ext/ds/TestVFSDataStore.java @@ -28,7 +28,7 @@ import org.apache.commons.io.IOUtils; import org.apache.commons.vfs2.FileObject; import org.apache.commons.vfs2.FileSystemOptions; -import org.apache.commons.vfs2.provider.http.HttpFileSystemConfigBuilder; +import org.apache.commons.vfs2.provider.sftp.SftpFileSystemConfigBuilder; import org.apache.jackrabbit.core.data.CachingDataStore; import org.apache.jackrabbit.core.data.TestCaseBase; import org.slf4j.Logger; @@ -56,13 +56,21 @@ public class TestVFSDataStore extends TestCaseBase { */ private static final Logger LOG = LoggerFactory.getLogger(TestVFSDataStore.class); - private static final String FILE_SYSTEM_OPTIONS_PARAM_XML = + // Example when http provider or its variants (https or webdav) FSO is used. + @SuppressWarnings("unused") + private static final String HTTP_FILE_SYSTEM_OPTIONS_PARAM_XML = ""; + private static final String SFTP_FILE_SYSTEM_OPTIONS_PARAM_XML = + ""; + private String baseFolderUri; private VFSDataStore dataStore; @@ -167,22 +175,23 @@ protected void doSetFileSystemOptionsPropertiesInString() throws Exception { DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newDocumentBuilder(); - Document document = builder.parse(new InputSource(new StringReader(FILE_SYSTEM_OPTIONS_PARAM_XML))); + Document document = builder.parse(new InputSource(new StringReader(SFTP_FILE_SYSTEM_OPTIONS_PARAM_XML))); Element paramElem = document.getDocumentElement(); String propsInString = paramElem.getAttribute("value"); dataStore.setFileSystemOptionsPropertiesInString(propsInString); final Properties internalProps = dataStore.getFileSystemOptionsProperties(); - Assert.assertEquals("200", internalProps.getProperty("fso.http.maxTotalConnections")); - Assert.assertEquals("100", internalProps.getProperty("fso.http.maxConnectionsPerHost")); - Assert.assertEquals("true", internalProps.getProperty("fso.http.preemptiveAuth")); + Assert.assertEquals("/home/tester/.ssh/id_rsa", internalProps.getProperty("fso.sftp.identities")); + Assert.assertEquals("30000", internalProps.getProperty("fso.sftp.timeout")); dataStore.init(dataStoreDir); final FileSystemOptions fso = dataStore.getFileSystemOptions(); - final HttpFileSystemConfigBuilder configBuilder = HttpFileSystemConfigBuilder.getInstance(); - Assert.assertEquals(200, configBuilder.getMaxTotalConnections(fso)); - Assert.assertEquals(100, configBuilder.getMaxConnectionsPerHost(fso)); - Assert.assertTrue(configBuilder.isPreemptiveAuth(fso)); + final SftpFileSystemConfigBuilder configBuilder = SftpFileSystemConfigBuilder.getInstance(); + File [] identities = configBuilder.getIdentities(fso); + Assert.assertNotNull(identities); + Assert.assertEquals(1, identities.length); + Assert.assertEquals("/home/tester/.ssh/id_rsa", identities[0].getPath()); + Assert.assertEquals(Integer.valueOf(30000), configBuilder.getTimeout(fso)); dataStore.close(); } From 6e5275f7b0973f11ce6d1d9ef731627ec13eda1f Mon Sep 17 00:00:00 2001 From: Woonsan Ko Date: Thu, 8 Dec 2016 15:56:24 -0500 Subject: [PATCH 2/2] JCR-4077: replace separator to unix style before comparing File#getPath() with configured file path (in unix style). --- .../org/apache/jackrabbit/vfs/ext/ds/TestVFSDataStore.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/jackrabbit-vfs-ext/src/test/java/org/apache/jackrabbit/vfs/ext/ds/TestVFSDataStore.java b/jackrabbit-vfs-ext/src/test/java/org/apache/jackrabbit/vfs/ext/ds/TestVFSDataStore.java index 57d1f959707..c8c89d2162a 100644 --- a/jackrabbit-vfs-ext/src/test/java/org/apache/jackrabbit/vfs/ext/ds/TestVFSDataStore.java +++ b/jackrabbit-vfs-ext/src/test/java/org/apache/jackrabbit/vfs/ext/ds/TestVFSDataStore.java @@ -25,6 +25,7 @@ import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; +import org.apache.commons.io.FilenameUtils; import org.apache.commons.io.IOUtils; import org.apache.commons.vfs2.FileObject; import org.apache.commons.vfs2.FileSystemOptions; @@ -190,7 +191,7 @@ protected void doSetFileSystemOptionsPropertiesInString() throws Exception { File [] identities = configBuilder.getIdentities(fso); Assert.assertNotNull(identities); Assert.assertEquals(1, identities.length); - Assert.assertEquals("/home/tester/.ssh/id_rsa", identities[0].getPath()); + Assert.assertEquals("/home/tester/.ssh/id_rsa", FilenameUtils.separatorsToUnix(identities[0].getPath())); Assert.assertEquals(Integer.valueOf(30000), configBuilder.getTimeout(fso)); dataStore.close();