I'm using httpunit to access a server.
I need to configure the proxy settings for this (http and https).
I set the configuration in the settings.xml file, but surefire seems to ignore it!?
I want to avoid to duplicate the configuration as much as possible.
In the surefire plugin configuration I tried:
<systemPropertyVariables>
<http.proxyHost>${http.proxyHost}</http.proxyHost>
</systemPropertyVariables>
and
<argLine>-Dhttp.proxyHost=${http.proxyHost}</argLine>
and
<argLine>-Dhttp.proxyHost=${settings.proxies[protocol=http].host}</argLine>
and several other combinations.
I print the system properties in the unit test with:
for (String propertyName : new TreeSet<String>(System.getProperties().stringPropertyNames())){
System.out.println(propertyName + ": " + System.getProperty(propertyName));
}
The only thing which worked so far are explicit values such as:
<systemPropertyVariables>
<http.proxyHost>myProxy</http.proxyHost>
</systemPropertyVariables>
or
<argLine>-Dhttp.proxyHost=myProxy</argLine>
But as I said, I don't want to duplicate the configuration, if possible.
How can I use the proxy settings set in the settings.xml file in unit tests?
Maven Surefire plugin's forkMode defaults to "once". I would suggest setting this to "never" and then trying to run the build again. My theory here is that you are losing the system property because the Surefire plugin is forking a new JVM.