33import org .junit .Rule ;
44import org .junit .Test ;
55import org .junit .contrib .java .lang .system .ClearSystemProperties ;
6+ import org .junit .contrib .java .lang .system .EnvironmentVariables ;
67
78import static org .hamcrest .core .Is .is ;
89import static org .hamcrest .core .IsEqual .equalTo ;
910import static org .junit .Assert .assertThat ;
1011
1112public 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