You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by hb...@apache.org on 2012/04/24 23:07:12 UTC
svn commit: r1330017 -
/maven/plugins/trunk/maven-site-plugin/src/test/java/org/apache/maven/plugins/site/AbstractSiteDeployWebDavTest.java
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 )
{