You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by gg...@apache.org on 2020/08/03 12:57:08 UTC
[commons-vfs] branch master updated: Add proxy config for some
http/https test (#108)
This is an automated email from the ASF dual-hosted git repository.
ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-vfs.git
The following commit(s) were added to refs/heads/master by this push:
new 6e3d4dc Add proxy config for some http/https test (#108)
6e3d4dc is described below
commit 6e3d4dce6ff3458d187948cee7b9f4f9fbdf36b5
Author: Lee <55...@users.noreply.github.com>
AuthorDate: Mon Aug 3 20:52:31 2020 +0800
Add proxy config for some http/https test (#108)
---
.../http/test/GetContentInfoFunctionalTest.java | 34 +++++++++++++++-
.../http4/test/Http4GetContentInfoTest.java | 34 +++++++++++++++-
.../http4s/test/Http4sGetContentInfoTest.java | 47 ++++++++++++----------
.../http5/test/Http5GetContentInfoTest.java | 34 +++++++++++++++-
.../http5s/test/Http5sGetContentInfoTest.java | 47 ++++++++++++----------
.../https/test/GetContentInfoFunctionalTest.java | 47 ++++++++++++----------
6 files changed, 174 insertions(+), 69 deletions(-)
diff --git a/commons-vfs2/src/test/java/org/apache/commons/vfs2/provider/http/test/GetContentInfoFunctionalTest.java b/commons-vfs2/src/test/java/org/apache/commons/vfs2/provider/http/test/GetContentInfoFunctionalTest.java
index 91a0fea..26a2ec3 100644
--- a/commons-vfs2/src/test/java/org/apache/commons/vfs2/provider/http/test/GetContentInfoFunctionalTest.java
+++ b/commons-vfs2/src/test/java/org/apache/commons/vfs2/provider/http/test/GetContentInfoFunctionalTest.java
@@ -20,10 +20,15 @@ import org.apache.commons.vfs2.FileContent;
import org.apache.commons.vfs2.FileObject;
import org.apache.commons.vfs2.FileSystemException;
import org.apache.commons.vfs2.FileSystemManager;
+import org.apache.commons.vfs2.FileSystemOptions;
import org.apache.commons.vfs2.VFS;
+import org.apache.commons.vfs2.provider.http.HttpFileSystemConfigBuilder;
import org.junit.Assert;
import org.junit.Test;
+import java.net.MalformedURLException;
+import java.net.URL;
+
/**
* Tests VFS-427 NPE on HttpFileObject.getContent().getContentInfo()
*
@@ -37,13 +42,38 @@ public class GetContentInfoFunctionalTest {
* @throws FileSystemException thrown when the getContentInfo API fails.
*/
@Test
- public void testGetContentInfo() throws FileSystemException {
+ public void testGetContentInfo() throws FileSystemException, MalformedURLException {
final FileSystemManager fsManager = VFS.getManager();
- try (final FileObject fo = fsManager.resolveFile("http://www.apache.org/licenses/LICENSE-2.0.txt");
+ final String uri = "http://www.apache.org/licenses/LICENSE-2.0.txt";
+ try (final FileObject fo = fsManager.resolveFile(uri, getOptionsWithProxy());
final FileContent content = fo.getContent();) {
Assert.assertNotNull(content);
// Used to NPE before fix:
content.getContentInfo();
}
}
+
+ FileSystemOptions getOptionsWithProxy() throws MalformedURLException {
+ // get proxy host and port from env var "https_proxy"
+ String proxyHost = null;
+ int proxyPort = -1;
+ final String proxyUrl = System.getenv("https_proxy");
+ if (proxyUrl != null) {
+ final URL url = new URL(proxyUrl);
+ proxyHost = url.getHost();
+ proxyPort = url.getPort();
+ }
+
+ // return null if proxy host or port invalid
+ if (proxyHost == null || proxyPort == -1) {
+ return null;
+ }
+
+ // return options with proxy
+ final HttpFileSystemConfigBuilder builder = HttpFileSystemConfigBuilder.getInstance();
+ final FileSystemOptions opts = new FileSystemOptions();
+ builder.setProxyHost(opts, proxyHost);
+ builder.setProxyPort(opts, proxyPort);
+ return opts;
+ }
}
diff --git a/commons-vfs2/src/test/java/org/apache/commons/vfs2/provider/http4/test/Http4GetContentInfoTest.java b/commons-vfs2/src/test/java/org/apache/commons/vfs2/provider/http4/test/Http4GetContentInfoTest.java
index 693f2da..03d2c03 100644
--- a/commons-vfs2/src/test/java/org/apache/commons/vfs2/provider/http4/test/Http4GetContentInfoTest.java
+++ b/commons-vfs2/src/test/java/org/apache/commons/vfs2/provider/http4/test/Http4GetContentInfoTest.java
@@ -20,12 +20,17 @@ import org.apache.commons.vfs2.FileContent;
import org.apache.commons.vfs2.FileObject;
import org.apache.commons.vfs2.FileSystemException;
import org.apache.commons.vfs2.FileSystemManager;
+import org.apache.commons.vfs2.FileSystemOptions;
import org.apache.commons.vfs2.VFS;
+import org.apache.commons.vfs2.provider.http4.Http4FileSystemConfigBuilder;
import org.junit.Assert;
import org.junit.Test;
import junit.framework.TestCase;
+import java.net.MalformedURLException;
+import java.net.URL;
+
/**
* Tests VFS-427 NPE on Http4FileObject.getContent().getContentInfo().
*/
@@ -37,12 +42,37 @@ public class Http4GetContentInfoTest extends TestCase {
* @throws FileSystemException thrown when the getContentInfo API fails.
*/
@Test
- public void testGetContentInfo() throws FileSystemException {
+ public void testGetContentInfo() throws FileSystemException, MalformedURLException {
final FileSystemManager fsManager = VFS.getManager();
- final FileObject fo = fsManager.resolveFile("http4://www.apache.org/licenses/LICENSE-2.0.txt");
+ final String uri = "http4://www.apache.org/licenses/LICENSE-2.0.txt";
+ final FileObject fo = fsManager.resolveFile(uri, getOptionsWithProxy());
final FileContent content = fo.getContent();
Assert.assertNotNull(content);
// Used to NPE before fix:
content.getContentInfo();
}
+
+ FileSystemOptions getOptionsWithProxy() throws MalformedURLException {
+ // get proxy host and port from env var "https_proxy"
+ String proxyHost = null;
+ int proxyPort = -1;
+ final String proxyUrl = System.getenv("https_proxy");
+ if (proxyUrl != null) {
+ final URL url = new URL(proxyUrl);
+ proxyHost = url.getHost();
+ proxyPort = url.getPort();
+ }
+
+ // return null if proxy host or port invalid
+ if (proxyHost == null || proxyPort == -1) {
+ return null;
+ }
+
+ // return options with proxy
+ final Http4FileSystemConfigBuilder builder = Http4FileSystemConfigBuilder.getInstance();
+ final FileSystemOptions opts = new FileSystemOptions();
+ builder.setProxyHost(opts, proxyHost);
+ builder.setProxyPort(opts, proxyPort);
+ return opts;
+ }
}
diff --git a/commons-vfs2/src/test/java/org/apache/commons/vfs2/provider/http4s/test/Http4sGetContentInfoTest.java b/commons-vfs2/src/test/java/org/apache/commons/vfs2/provider/http4s/test/Http4sGetContentInfoTest.java
index 50295f1..f6a07eb 100644
--- a/commons-vfs2/src/test/java/org/apache/commons/vfs2/provider/http4s/test/Http4sGetContentInfoTest.java
+++ b/commons-vfs2/src/test/java/org/apache/commons/vfs2/provider/http4s/test/Http4sGetContentInfoTest.java
@@ -44,31 +44,36 @@ public class Http4sGetContentInfoTest extends TestCase {
*/
@Test
public void testGetContentInfo() throws FileSystemException, MalformedURLException {
- String httpsProxyHost = null;
- int httpsProxyPort = -1;
- final String httpsProxy = System.getenv("https_proxy");
- if (httpsProxy != null) {
- final URL url = new URL(httpsProxy);
- httpsProxyHost = url.getHost();
- httpsProxyPort = url.getPort();
- }
- final FileSystemOptions opts;
- if (httpsProxyHost != null) {
- opts = new FileSystemOptions();
- final Http4FileSystemConfigBuilder builder = Http4FileSystemConfigBuilder.getInstance();
- builder.setProxyHost(opts, httpsProxyHost);
- if (httpsProxyPort >= 0) {
- builder.setProxyPort(opts, httpsProxyPort);
- }
- } else {
- opts = null;
- }
-
final FileSystemManager fsManager = VFS.getManager();
- final FileObject fo = fsManager.resolveFile("http4://www.apache.org/licenses/LICENSE-2.0.txt", opts);
+ final String uri = "http4://www.apache.org/licenses/LICENSE-2.0.txt";
+ final FileObject fo = fsManager.resolveFile(uri, getOptionsWithProxy());
final FileContent content = fo.getContent();
Assert.assertNotNull(content);
// Used to NPE before fix:
content.getContentInfo();
}
+
+ FileSystemOptions getOptionsWithProxy() throws MalformedURLException {
+ // get proxy host and port from env var "https_proxy"
+ String proxyHost = null;
+ int proxyPort = -1;
+ final String proxyUrl = System.getenv("https_proxy");
+ if (proxyUrl != null) {
+ final URL url = new URL(proxyUrl);
+ proxyHost = url.getHost();
+ proxyPort = url.getPort();
+ }
+
+ // return null if proxy host or port invalid
+ if (proxyHost == null || proxyPort == -1) {
+ return null;
+ }
+
+ // return options with proxy
+ final Http4FileSystemConfigBuilder builder = Http4FileSystemConfigBuilder.getInstance();
+ final FileSystemOptions opts = new FileSystemOptions();
+ builder.setProxyHost(opts, proxyHost);
+ builder.setProxyPort(opts, proxyPort);
+ return opts;
+ }
}
diff --git a/commons-vfs2/src/test/java/org/apache/commons/vfs2/provider/http5/test/Http5GetContentInfoTest.java b/commons-vfs2/src/test/java/org/apache/commons/vfs2/provider/http5/test/Http5GetContentInfoTest.java
index 905c301..301c3a9 100644
--- a/commons-vfs2/src/test/java/org/apache/commons/vfs2/provider/http5/test/Http5GetContentInfoTest.java
+++ b/commons-vfs2/src/test/java/org/apache/commons/vfs2/provider/http5/test/Http5GetContentInfoTest.java
@@ -20,12 +20,17 @@ import org.apache.commons.vfs2.FileContent;
import org.apache.commons.vfs2.FileObject;
import org.apache.commons.vfs2.FileSystemException;
import org.apache.commons.vfs2.FileSystemManager;
+import org.apache.commons.vfs2.FileSystemOptions;
import org.apache.commons.vfs2.VFS;
+import org.apache.commons.vfs2.provider.http5.Http5FileSystemConfigBuilder;
import org.junit.Assert;
import org.junit.Test;
import junit.framework.TestCase;
+import java.net.MalformedURLException;
+import java.net.URL;
+
/**
* Tests VFS-427 NPE on Http5FileObject.getContent().getContentInfo().
*/
@@ -37,12 +42,37 @@ public class Http5GetContentInfoTest extends TestCase {
* @throws FileSystemException thrown when the getContentInfo API fails.
*/
@Test
- public void testGetContentInfo() throws FileSystemException {
+ public void testGetContentInfo() throws FileSystemException, MalformedURLException {
final FileSystemManager fsManager = VFS.getManager();
- final FileObject fo = fsManager.resolveFile("http5://www.apache.org/licenses/LICENSE-2.0.txt");
+ final String uri = "http5://www.apache.org/licenses/LICENSE-2.0.txt";
+ final FileObject fo = fsManager.resolveFile(uri, getOptionsWithProxy());
final FileContent content = fo.getContent();
Assert.assertNotNull(content);
// Used to NPE before fix:
content.getContentInfo();
}
+
+ FileSystemOptions getOptionsWithProxy() throws MalformedURLException {
+ // get proxy host and port from env var "https_proxy"
+ String proxyHost = null;
+ int proxyPort = -1;
+ final String proxyUrl = System.getenv("https_proxy");
+ if (proxyUrl != null) {
+ final URL url = new URL(proxyUrl);
+ proxyHost = url.getHost();
+ proxyPort = url.getPort();
+ }
+
+ // return null if proxy host or port invalid
+ if (proxyHost == null || proxyPort == -1) {
+ return null;
+ }
+
+ // return options with proxy
+ final Http5FileSystemConfigBuilder builder = Http5FileSystemConfigBuilder.getInstance();
+ final FileSystemOptions opts = new FileSystemOptions();
+ builder.setProxyHost(opts, proxyHost);
+ builder.setProxyPort(opts, proxyPort);
+ return opts;
+ }
}
diff --git a/commons-vfs2/src/test/java/org/apache/commons/vfs2/provider/http5s/test/Http5sGetContentInfoTest.java b/commons-vfs2/src/test/java/org/apache/commons/vfs2/provider/http5s/test/Http5sGetContentInfoTest.java
index 19830ed..3b7e465 100644
--- a/commons-vfs2/src/test/java/org/apache/commons/vfs2/provider/http5s/test/Http5sGetContentInfoTest.java
+++ b/commons-vfs2/src/test/java/org/apache/commons/vfs2/provider/http5s/test/Http5sGetContentInfoTest.java
@@ -44,31 +44,36 @@ public class Http5sGetContentInfoTest extends TestCase {
*/
@Test
public void testGetContentInfo() throws FileSystemException, MalformedURLException {
- String httpsProxyHost = null;
- int httpsProxyPort = -1;
- final String httpsProxy = System.getenv("https_proxy");
- if (httpsProxy != null) {
- final URL url = new URL(httpsProxy);
- httpsProxyHost = url.getHost();
- httpsProxyPort = url.getPort();
- }
- final FileSystemOptions opts;
- if (httpsProxyHost != null) {
- opts = new FileSystemOptions();
- final Http5FileSystemConfigBuilder builder = Http5FileSystemConfigBuilder.getInstance();
- builder.setProxyHost(opts, httpsProxyHost);
- if (httpsProxyPort >= 0) {
- builder.setProxyPort(opts, httpsProxyPort);
- }
- } else {
- opts = null;
- }
-
final FileSystemManager fsManager = VFS.getManager();
- final FileObject fo = fsManager.resolveFile("http5://www.apache.org/licenses/LICENSE-2.0.txt", opts);
+ final String uri = "http5://www.apache.org/licenses/LICENSE-2.0.txt";
+ final FileObject fo = fsManager.resolveFile(uri, getOptionsWithProxy());
final FileContent content = fo.getContent();
Assert.assertNotNull(content);
// Used to NPE before fix:
content.getContentInfo();
}
+
+ FileSystemOptions getOptionsWithProxy() throws MalformedURLException {
+ // get proxy host and port from env var "https_proxy"
+ String proxyHost = null;
+ int proxyPort = -1;
+ final String proxyUrl = System.getenv("https_proxy");
+ if (proxyUrl != null) {
+ final URL url = new URL(proxyUrl);
+ proxyHost = url.getHost();
+ proxyPort = url.getPort();
+ }
+
+ // return null if proxy host or port invalid
+ if (proxyHost == null || proxyPort == -1) {
+ return null;
+ }
+
+ // return options with proxy
+ final Http5FileSystemConfigBuilder builder = Http5FileSystemConfigBuilder.getInstance();
+ final FileSystemOptions opts = new FileSystemOptions();
+ builder.setProxyHost(opts, proxyHost);
+ builder.setProxyPort(opts, proxyPort);
+ return opts;
+ }
}
diff --git a/commons-vfs2/src/test/java/org/apache/commons/vfs2/provider/https/test/GetContentInfoFunctionalTest.java b/commons-vfs2/src/test/java/org/apache/commons/vfs2/provider/https/test/GetContentInfoFunctionalTest.java
index 9dd10c7..ccb6f90 100644
--- a/commons-vfs2/src/test/java/org/apache/commons/vfs2/provider/https/test/GetContentInfoFunctionalTest.java
+++ b/commons-vfs2/src/test/java/org/apache/commons/vfs2/provider/https/test/GetContentInfoFunctionalTest.java
@@ -45,32 +45,37 @@ public class GetContentInfoFunctionalTest {
*/
@Test
public void testGetContentInfo() throws FileSystemException, MalformedURLException {
- String httpsProxyHost = null;
- int httpsProxyPort = -1;
- final String httpsProxy = System.getenv("https_proxy");
- if (httpsProxy != null) {
- final URL url = new URL(httpsProxy);
- httpsProxyHost = url.getHost();
- httpsProxyPort = url.getPort();
- }
- final FileSystemOptions opts;
- if (httpsProxyHost != null) {
- opts = new FileSystemOptions();
- final HttpFileSystemConfigBuilder builder = HttpFileSystemConfigBuilder.getInstance();
- builder.setProxyHost(opts, httpsProxyHost);
- if (httpsProxyPort >= 0) {
- builder.setProxyPort(opts, httpsProxyPort);
- }
- } else {
- opts = null;
- }
-
final FileSystemManager fsManager = VFS.getManager();
- try (final FileObject fo = fsManager.resolveFile("http://www.apache.org/licenses/LICENSE-2.0.txt", opts);
+ final String uri = "http://www.apache.org/licenses/LICENSE-2.0.txt";
+ try (final FileObject fo = fsManager.resolveFile(uri, getOptionsWithProxy());
final FileContent content = fo.getContent();) {
Assert.assertNotNull(content);
// Used to NPE before fix:
content.getContentInfo();
}
}
+
+ FileSystemOptions getOptionsWithProxy() throws MalformedURLException {
+ // get proxy host and port from env var "https_proxy"
+ String proxyHost = null;
+ int proxyPort = -1;
+ final String proxyUrl = System.getenv("https_proxy");
+ if (proxyUrl != null) {
+ final URL url = new URL(proxyUrl);
+ proxyHost = url.getHost();
+ proxyPort = url.getPort();
+ }
+
+ // return null if proxy host or port invalid
+ if (proxyHost == null || proxyPort == -1) {
+ return null;
+ }
+
+ // return options with proxy
+ final HttpFileSystemConfigBuilder builder = HttpFileSystemConfigBuilder.getInstance();
+ final FileSystemOptions opts = new FileSystemOptions();
+ builder.setProxyHost(opts, proxyHost);
+ builder.setProxyPort(opts, proxyPort);
+ return opts;
+ }
}