You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by mi...@apache.org on 2022/05/11 19:53:54 UTC
[maven-integration-testing] branch mng-7470-resolver-transport updated: Align test to other tests with Jetty
This is an automated email from the ASF dual-hosted git repository.
michaelo pushed a commit to branch mng-7470-resolver-transport
in repository https://gitbox.apache.org/repos/asf/maven-integration-testing.git
The following commit(s) were added to refs/heads/mng-7470-resolver-transport by this push:
new 210fc3792 Align test to other tests with Jetty
210fc3792 is described below
commit 210fc379278535574110960f1a5058769367fc9c
Author: Michael Osipov <mi...@apache.org>
AuthorDate: Wed May 11 21:45:02 2022 +0200
Align test to other tests with Jetty
---
.../test/java/org/apache/maven/it/HttpServer.java | 11 +++
.../it/MavenITmng7470ResolverTransportTest.java | 78 ++++++++++++++--------
.../{ => project}/settings-template.xml | 0
3 files changed, 62 insertions(+), 27 deletions(-)
diff --git a/core-it-suite/src/test/java/org/apache/maven/it/HttpServer.java b/core-it-suite/src/test/java/org/apache/maven/it/HttpServer.java
index 8d87dd54a..ba25cb4f8 100644
--- a/core-it-suite/src/test/java/org/apache/maven/it/HttpServer.java
+++ b/core-it-suite/src/test/java/org/apache/maven/it/HttpServer.java
@@ -60,12 +60,23 @@ public class HttpServer
// server.join();
}
+ public boolean isFailed()
+ {
+ return server.isFailed();
+ }
+
public void stop()
throws Exception
{
server.stop();
}
+ public void join()
+ throws Exception
+ {
+ server.join();
+ }
+
public int port()
{
return ( (NetworkConnector) server.getConnectors()[0] ).getLocalPort();
diff --git a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng7470ResolverTransportTest.java b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng7470ResolverTransportTest.java
index 55782a4f9..68b82b53d 100644
--- a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng7470ResolverTransportTest.java
+++ b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng7470ResolverTransportTest.java
@@ -2,6 +2,7 @@ package org.apache.maven.it;
import java.io.File;
import java.util.HashMap;
+import java.util.Map;
import org.apache.maven.it.util.ResourceExtractor;
@@ -12,51 +13,74 @@ import org.apache.maven.it.util.ResourceExtractor;
public class MavenITmng7470ResolverTransportTest
extends AbstractMavenIntegrationTestCase
{
+ private File testDir;
+
+ private File projectDir;
+
+ private HttpServer server;
+
+ private int port;
+
public MavenITmng7470ResolverTransportTest()
{
super( "[3.9.0,)" );
}
- private void performTest( final String transport, final String logSnippet ) throws Exception
+ @Override
+ protected void setUp()
+ throws Exception
{
- File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/mng-7470-resolver-transport" );
+ testDir = ResourceExtractor.simpleExtractResources( getClass(), "/mng-7470-resolver-transport" );
+ projectDir = new File( testDir, "project" );
- HttpServer server = HttpServer.builder()
+ server = HttpServer.builder()
.port( 0 )
.source( new File( testDir, "repo" ) )
.build();
server.start();
- try
+ if ( server.isFailed() )
{
- Verifier verifier = newVerifier( testDir.getAbsolutePath() );
- HashMap<String, String> properties = new HashMap<>();
- properties.put( "@port@", Integer.toString( server.port() ) );
- verifier.filterFile( "settings-template.xml", "settings.xml", "UTF-8", properties );
-
- verifier = newVerifier( new File( testDir, "project" ).getAbsolutePath() );
- verifier.setLogFileName( transport + "-transport.log" );
- verifier.deleteDirectory( "target" );
- verifier.deleteArtifacts( "org.apache.maven.its.resolver-transport" );
- verifier.addCliOption( "-X" );
- verifier.addCliOption( "-s" );
- verifier.addCliOption( new File( testDir, "settings.xml" ).getAbsolutePath() );
- verifier.addCliOption( "-Pmaven-core-it-repo" );
- verifier.addCliOption( "-Dmaven.resolver.transport=" + transport );
- // Maven will fail if project dependencies cannot be resolved.
- // As dependency exists ONLY in HTTP repo, it MUST be reached using selected transport and
- // successfully resolved from it.
- verifier.executeGoal( "verify" );
- verifier.verifyErrorFreeLog();
- // verify maven console output contains "[DEBUG] Using transporter XXXTransporter"
- verifier.verifyTextInLog( logSnippet );
- verifier.resetStreams();
+ fail( "Couldn't bind the server socket to a free port!" );
}
- finally
+ port = server.port();
+ System.out.println( "Bound server socket to the port " + port );
+ }
+
+ @Override
+ protected void tearDown()
+ throws Exception
+ {
+ if ( server != null )
{
server.stop();
+ server.join();
}
}
+ private void performTest( final String transport, final String logSnippet ) throws Exception
+ {
+ Verifier verifier = newVerifier( projectDir.getAbsolutePath() );
+ Map<String, String> properties = new HashMap<>();
+ properties.put( "@port@", Integer.toString( port ) );
+ verifier.filterFile( "settings-template.xml", "settings.xml", "UTF-8", properties );
+ verifier.setLogFileName( transport + "-transport.log" );
+ verifier.deleteDirectory( "target" );
+ verifier.deleteArtifacts( "org.apache.maven.its.resolver-transport" );
+ verifier.addCliOption( "-X" );
+ verifier.addCliOption( "-s" );
+ verifier.addCliOption( new File( projectDir, "settings.xml" ).getAbsolutePath() );
+ verifier.addCliOption( "-Pmaven-core-it-repo" );
+ verifier.addCliOption( "-Dmaven.resolver.transport=" + transport );
+ // Maven will fail if project dependencies cannot be resolved.
+ // As dependency exists ONLY in HTTP repo, it MUST be reached using selected transport and
+ // successfully resolved from it.
+ verifier.executeGoal( "verify" );
+ verifier.verifyErrorFreeLog();
+ // verify maven console output contains "[DEBUG] Using transporter XXXTransporter"
+ verifier.verifyTextInLog( logSnippet );
+ verifier.resetStreams();
+ }
+
public void testResolverTransportWagon()
throws Exception
{
diff --git a/core-it-suite/src/test/resources/mng-7470-resolver-transport/settings-template.xml b/core-it-suite/src/test/resources/mng-7470-resolver-transport/project/settings-template.xml
similarity index 100%
rename from core-it-suite/src/test/resources/mng-7470-resolver-transport/settings-template.xml
rename to core-it-suite/src/test/resources/mng-7470-resolver-transport/project/settings-template.xml