Author: hboutemy
Date: Tue Apr 24 21:07:12 2012
New Revision: 1330017
URL: http://svn.apache.org/viewvc?rev=1330017&view=rev
Log:
added a test on dav server port before using it
Modified:
maven/plugins/trunk/maven-site-plugin/src/test/java/org/apache/maven/plugins/site/AbstractSiteDeployWebDavTest.java
Modified:
maven/plugins/trunk/maven-site-plugin/src/test/java/org/apache/maven/plugins/site/AbstractSiteDeployWebDavTest.java
URL:
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-site-plugin/src/test/java/org/apache/maven/plugins/site/AbstractSiteDeployWebDavTest.java?rev=1330017&r1=1330016&r2=1330017&view=diff
==============================================================================
---
maven/plugins/trunk/maven-site-plugin/src/test/java/org/apache/maven/plugins/site/AbstractSiteDeployWebDavTest.java
(original)
+++
maven/plugins/trunk/maven-site-plugin/src/test/java/org/apache/maven/plugins/site/AbstractSiteDeployWebDavTest.java
Tue Apr 24 21:07:12 2012
@@ -54,11 +54,11 @@ import org.slf4j.LoggerFactory;
public abstract class AbstractSiteDeployWebDavTest
extends AbstractMojoTestCase
{
-
+
File siteTargetPath = new File( getBasedir() + File.separator + "target" +
File.separator + "siteTargetDeploy" );
-
+
private Logger log = LoggerFactory.getLogger( getClass() );
-
+
@Before
public void setUp()
throws Exception
@@ -70,18 +70,19 @@ public abstract class AbstractSiteDeploy
FileUtils.cleanDirectory( siteTargetPath );
}
}
-
+
abstract String getMojoName();
-
+
abstract AbstractMojo getMojo( File pluginXmlFile )
throws Exception;
-
+
@Test
public void noAuthzDavDeploy()
throws Exception
{
FileUtils.cleanDirectory( siteTargetPath );
SimpleDavServerHandler simpleDavServerHandler = new
SimpleDavServerHandler( siteTargetPath );
+
try
{
File pluginXmlFile = getTestFile(
"src/test/resources/unit/deploy-dav/pom.xml" );
@@ -89,18 +90,21 @@ public abstract class AbstractSiteDeploy
assertNotNull( mojo );
SiteMavenProjectStub siteMavenProjectStub =
new SiteMavenProjectStub(
"src/test/resources/unit/deploy-dav/pom.xml" );
-
+
+ assertTrue( "dav server port not available: " +
simpleDavServerHandler.getPort(),
+ simpleDavServerHandler.getPort() > 0 );
+
siteMavenProjectStub.getDistributionManagement().getSite()
.setUrl( "dav:http://localhost:" +
simpleDavServerHandler.getPort() + "/site/" );
-
+
setVariableValueToObject( mojo, "project", siteMavenProjectStub );
Settings settings = new Settings();
setVariableValueToObject( mojo, "settings", settings );
File inputDirectory = new File(
"src/test/resources/unit/deploy-dav/target/site" );
-
+
setVariableValueToObject( mojo, "inputDirectory", inputDirectory );
mojo.execute();
-
+
assertContentInFiles();
assertFalse( requestsContainsProxyUse(
simpleDavServerHandler.httpRequests ) );
}
@@ -109,12 +113,12 @@ public abstract class AbstractSiteDeploy
simpleDavServerHandler.stop();
}
}
-
+
@Test
public void davDeployThruProxyWithoutAuthzInProxy()
throws Exception
{
-
+
FileUtils.cleanDirectory( siteTargetPath );
SimpleDavServerHandler simpleDavServerHandler = new
SimpleDavServerHandler( siteTargetPath );
try
@@ -127,7 +131,7 @@ public abstract class AbstractSiteDeploy
// olamy, Note : toto is something like foo or bar for french
folks :-)
String siteUrl = "dav:http://toto.com/site/";
siteMavenProjectStub.getDistributionManagement().getSite().setUrl(
siteUrl );
-
+
setVariableValueToObject( mojo, "project", siteMavenProjectStub );
Settings settings = new Settings();
Proxy proxy = new Proxy();
@@ -139,29 +143,29 @@ public abstract class AbstractSiteDeploy
proxy.setProtocol( "http" );
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" );
-
+
setVariableValueToObject( mojo, "inputDirectory", inputDirectory );
mojo.execute();
-
+
assertContentInFiles();
-
+
assertTrue( requestsContainsProxyUse(
simpleDavServerHandler.httpRequests ) );
-
+
for ( HttpRequest rq : simpleDavServerHandler.httpRequests )
{
log.info( rq.toString() );
}
-
+
}
finally
{
@@ -169,17 +173,17 @@ public abstract class AbstractSiteDeploy
}
}
-
+
@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 );
@@ -190,10 +194,10 @@ public abstract class AbstractSiteDeploy
assertNotNull( mojo );
SiteMavenProjectStub siteMavenProjectStub =
new SiteMavenProjectStub(
"src/test/resources/unit/deploy-dav/pom.xml" );
-
+
siteMavenProjectStub.getDistributionManagement().getSite()
.setUrl( "dav:http://toto.com/site/" );
-
+
setVariableValueToObject( mojo, "project", siteMavenProjectStub );
Settings settings = new Settings();
Proxy proxy = new Proxy();
@@ -207,17 +211,17 @@ public abstract class AbstractSiteDeploy
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 )
{
@@ -226,7 +230,7 @@ public abstract class AbstractSiteDeploy
else
{
ArtifactRepositoryFactory artifactRepositoryFactory =
getContainer().lookup( ArtifactRepositoryFactory.class );
-
+
setVariableValueToObject( mojo, "stagingDirectory",
inputDirectory );
setVariableValueToObject( mojo, "reactorProjects",
Collections.emptyList() );
setVariableValueToObject( mojo, "localRepository",
@@ -237,7 +241,7 @@ public abstract class AbstractSiteDeploy
setVariableValueToObject( mojo, "repositories",
Collections.emptyList() );
}
mojo.execute();
-
+
assertContentInFiles();
assertTrue( requestsContainsProxyUse( servlet.httpRequests ) );
assertAtLeastOneRequestContainsHeader( servlet.httpRequests,
"Proxy-Authorization" );
@@ -251,7 +255,7 @@ public abstract class AbstractSiteDeploy
simpleDavServerHandler.stop();
}
}
-
+
private void assertContentInFiles()
throws Exception
{
@@ -265,17 +269,17 @@ public abstract class AbstractSiteDeploy
fileContent = FileUtils.readFileToString( fileToTest );
assertTrue( fileContent.contains( "background-image:
url(../images/collapsed.gif);" ) );
}
-
+
/**
* @param requests
* @return true if at least on request use proxy http header
Proxy-Connection : Keep-Alive
*/
private boolean requestsContainsProxyUse( List<HttpRequest> requests )
{
- return assertAtLeastOneRequestContainsHeader(requests,
"Proxy-Connection");
+ return assertAtLeastOneRequestContainsHeader( requests,
"Proxy-Connection" );
}
-
- private boolean assertAtLeastOneRequestContainsHeader(List<HttpRequest>
requests , String headerName)
+
+ private boolean assertAtLeastOneRequestContainsHeader( List<HttpRequest>
requests, String headerName )
{
for ( HttpRequest rq : requests )
{