use of org.apache.maven.doxia.tools.SiteTool in project maven-plugins by apache.
the class AbstractSiteDeployWebDavTest method davDeployThruProxyWitAuthzInProxy.
@Test
public void davDeployThruProxyWitAuthzInProxy() throws Exception {
FileUtils.cleanDirectory(siteTargetPath);
//SimpleDavServerHandler simpleDavServerHandler = new SimpleDavServerHandler( siteTargetPath );
Map<String, String> authentications = new HashMap<String, String>();
authentications.put("foo", "titi");
AuthAsyncProxyServlet servlet = new AuthAsyncProxyServlet(authentications, siteTargetPath);
SimpleDavServerHandler simpleDavServerHandler = new SimpleDavServerHandler(servlet);
try {
File pluginXmlFile = getTestFile("src/test/resources/unit/deploy-dav/pom.xml");
AbstractMojo mojo = getMojo(pluginXmlFile);
assertNotNull(mojo);
SiteMavenProjectStub siteMavenProjectStub = new SiteMavenProjectStub("deploy-dav");
siteMavenProjectStub.getDistributionManagement().getSite().setUrl("dav:http://toto.com/site/");
setVariableValueToObject(mojo, "project", siteMavenProjectStub);
Settings settings = new Settings();
Proxy proxy = new Proxy();
//dummy proxy
proxy.setActive(true);
proxy.setHost("localhost");
proxy.setPort(simpleDavServerHandler.getPort());
proxy.setProtocol("dav");
proxy.setUsername("foo");
proxy.setPassword("titi");
proxy.setNonProxyHosts("www.google.com|*.somewhere.com");
settings.addProxy(proxy);
setVariableValueToObject(mojo, "settings", settings);
MavenExecutionRequest request = new DefaultMavenExecutionRequest();
request.setProxies(Arrays.asList(proxy));
MavenSession mavenSession = new MavenSession(getContainer(), null, request, null);
setVariableValueToObject(mojo, "mavenSession", mavenSession);
File inputDirectory = new File("src/test/resources/unit/deploy-dav/target/site");
// test which mojo we are using
if (ReflectionUtils.getFieldByNameIncludingSuperclasses("inputDirectory", mojo.getClass()) != null) {
setVariableValueToObject(mojo, "inputDirectory", inputDirectory);
} else {
ArtifactRepositoryFactory artifactRepositoryFactory = getContainer().lookup(ArtifactRepositoryFactory.class);
setVariableValueToObject(mojo, "stagingDirectory", inputDirectory);
setVariableValueToObject(mojo, "reactorProjects", Collections.emptyList());
setVariableValueToObject(mojo, "localRepository", artifactRepositoryFactory.createArtifactRepository("local", "foo", "default", null, null));
setVariableValueToObject(mojo, "siteTool", getContainer().lookup(SiteTool.class));
setVariableValueToObject(mojo, "siteDirectory", new File("foo"));
setVariableValueToObject(mojo, "repositories", Collections.emptyList());
}
mojo.execute();
assertContentInFiles();
assertTrue(requestsContainsProxyUse(servlet.httpRequests));
assertAtLeastOneRequestContainsHeader(servlet.httpRequests, "Proxy-Authorization");
for (HttpRequest rq : servlet.httpRequests) {
log.info(rq.toString());
}
} finally {
simpleDavServerHandler.stop();
}
}
Aggregations