Skip to content

Commit f15c873

Browse files
committed
Fix #65 Now checks System Props and Env Variables
1 parent 1af0d5d commit f15c873

File tree

3 files changed

+38
-3
lines changed

3 files changed

+38
-3
lines changed

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,7 @@
164164
<dependency>
165165
<groupId>com.github.stefanbirkner</groupId>
166166
<artifactId>system-rules</artifactId>
167-
<version>1.16.0</version>
167+
<version>1.16.1</version>
168168
<scope>test</scope>
169169
</dependency>
170170
<dependency>

src/main/java/com/lazerycode/selenium/download/DetectProxyConfig.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,9 @@ public boolean isProxyAvailable() {
2828

2929
public DetectProxyConfig() {
3030

31-
String proxyHost = System.getProperty("http.proxyHost");
32-
Integer proxyPort = Integer.getInteger(System.getProperty("http.proxyPort"));
31+
String proxyHost = System.getProperty("http.proxyHost", System.getenv("http.proxyHost"));
32+
String proxyPortFromSystem = System.getProperty("http.proxyPort", System.getenv("http.proxyPort"));
33+
Integer proxyPort = Integer.valueOf(proxyPortFromSystem);
3334

3435
if (Strings.isNullOrEmpty(proxyHost) || null == proxyPort) {
3536

src/test/java/com/lazerycode/selenium/download/DetectProxyConfigTest.java

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,20 @@
33
import org.junit.Rule;
44
import org.junit.Test;
55
import org.junit.contrib.java.lang.system.ClearSystemProperties;
6+
import org.junit.contrib.java.lang.system.EnvironmentVariables;
67

78
import static org.hamcrest.core.Is.is;
89
import static org.hamcrest.core.IsEqual.equalTo;
910
import static org.junit.Assert.assertThat;
1011

1112
public class DetectProxyConfigTest {
1213

14+
private static final String envHost = "localhost-env";
15+
private static final Integer envPort = 8081;
16+
17+
@Rule
18+
public final EnvironmentVariables envVars = new EnvironmentVariables();
19+
1320
@Rule
1421
public final ClearSystemProperties proxyProperties = new ClearSystemProperties("http.proxyHost", "http.proxyPort", "java.net.useSystemProxies");
1522

@@ -26,4 +33,31 @@ public void proxySettingsUsedIfTheyAreSet() {
2633
assertThat(proxyConfig.getPort(), is(equalTo(port)));
2734
assertThat(proxyConfig.isProxyAvailable(), is(equalTo(true)));
2835
}
36+
37+
@Test
38+
public void proxySettingsUsesEnvVariablesIfTheyAreSet() throws Exception {
39+
envVars.set("http.proxyHost", envHost);
40+
envVars.set("http.proxyPort", Integer.toString(envPort));
41+
42+
DetectProxyConfig proxyConfig = new DetectProxyConfig();
43+
assertThat(proxyConfig.getHost(), is(equalTo(envHost)));
44+
assertThat(proxyConfig.getPort(), is(equalTo(envPort)));
45+
assertThat(proxyConfig.isProxyAvailable(), is(equalTo(true)));
46+
}
47+
48+
@Test
49+
public void propertyOverridesEnvVariable() throws Exception {
50+
String propHost = "localhost";
51+
Integer propPort = 8080;
52+
System.setProperty("http.proxyHost", propHost);
53+
System.setProperty("http.proxyPort", "" + propPort);
54+
envVars.set("http.proxyHost", envHost);
55+
envVars.set("http.proxyPort", Integer.toString(envPort));
56+
57+
DetectProxyConfig proxyConfig = new DetectProxyConfig();
58+
assertThat(proxyConfig.getHost(), is(equalTo(propHost)));
59+
assertThat(proxyConfig.getPort(), is(equalTo(propPort)));
60+
assertThat(proxyConfig.isProxyAvailable(), is(equalTo(true)));
61+
}
62+
2963
}

0 commit comments

Comments
 (0)