You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by cs...@apache.org on 2022/05/11 08:30:23 UTC

[maven-integration-testing] 01/01: [MNG-7470] mvn 3.9+ IT that uses wagon (default) and native transport

This is an automated email from the ASF dual-hosted git repository.

cstamas pushed a commit to branch mng-7470-resolver-transport
in repository https://gitbox.apache.org/repos/asf/maven-integration-testing.git

commit 57b57cb24b0794ab6bcf54c9b1959835b1169d32
Author: Tamas Cservenak <ta...@cservenak.net>
AuthorDate: Wed May 11 10:29:35 2022 +0200

    [MNG-7470] mvn 3.9+ IT that uses wagon (default) and native transport
---
 .../org/apache/maven/it/IntegrationTestSuite.java  |   1 +
 .../it/MavenITmng7470ResolverTransportTest.java    |  89 +++++++++++++++++++++
 .../mng-7470-resolver-transport/native/pom.xml     |  42 ++++++++++
 .../native/dependency/1.0/dependency-1.0.jar       | Bin 0 -> 2045 bytes
 .../native/dependency/1.0/dependency-1.0.jar.sha1  |   1 +
 .../native/dependency/1.0/dependency-1.0.pom       |  34 ++++++++
 .../native/dependency/1.0/dependency-1.0.pom.sha1  |   1 +
 .../wagon/dependency/1.0/dependency-1.0.jar        | Bin 0 -> 2045 bytes
 .../wagon/dependency/1.0/dependency-1.0.jar.sha1   |   1 +
 .../wagon/dependency/1.0/dependency-1.0.pom        |  34 ++++++++
 .../wagon/dependency/1.0/dependency-1.0.pom.sha1   |   1 +
 .../settings-template.xml                          |  40 +++++++++
 .../mng-7470-resolver-transport/wagon/pom.xml      |  42 ++++++++++
 13 files changed, 286 insertions(+)

diff --git a/core-it-suite/src/test/java/org/apache/maven/it/IntegrationTestSuite.java b/core-it-suite/src/test/java/org/apache/maven/it/IntegrationTestSuite.java
index 69b9c906d..2e6462554 100644
--- a/core-it-suite/src/test/java/org/apache/maven/it/IntegrationTestSuite.java
+++ b/core-it-suite/src/test/java/org/apache/maven/it/IntegrationTestSuite.java
@@ -106,6 +106,7 @@ public class IntegrationTestSuite
         // Tests that don't run stable and need to be fixed
         // -------------------------------------------------------------------------------------------------------------
         // suite.addTestSuite( MavenIT0108SnapshotUpdateTest.class ); -- MNG-3137
+        suite.addTestSuite( MavenITmng7470ResolverTransportTest.class );
         suite.addTestSuite( MavenITmng7464ReadOnlyMojoParametersWarningTest.class );
         suite.addTestSuite( MavenITmng7404IgnorePrefixlessExpressionsTest.class );
         suite.addTestSuite( MavenITmng5222MojoDeprecatedTest.class );
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
new file mode 100644
index 000000000..61a906a35
--- /dev/null
+++ b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng7470ResolverTransportTest.java
@@ -0,0 +1,89 @@
+package org.apache.maven.it;
+
+import java.io.File;
+import java.util.HashMap;
+
+import org.apache.maven.it.util.ResourceExtractor;
+
+/**
+ * This is a test set for <a href="https://issues.apache.org/jira/browse/MNG-7470">MNG-7470</a>:
+ * check that Maven two bundled transports works as expected.
+ */
+public class MavenITmng7470ResolverTransportTest
+        extends AbstractMavenIntegrationTestCase
+{
+    public MavenITmng7470ResolverTransportTest()
+    {
+        super( "[3.9.0,)" );
+    }
+
+    public void testResolverTransportWagon()
+            throws Exception
+    {
+        File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/mng-7470-resolver-transport" );
+
+        HttpServer server = HttpServer.builder()
+                .port( 0 )
+                .source( new File( testDir, "repo" ) )
+                .build();
+        server.start();
+        try
+        {
+            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, "wagon" ).getAbsolutePath() );
+            verifier.deleteDirectory( "target" );
+            verifier.deleteArtifacts( "org.apache.maven.its.resolver-transport.wagon" );
+            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=wagon" );
+            verifier.executeGoal( "verify" );
+            verifier.verifyErrorFreeLog();
+            verifier.resetStreams();
+        }
+        finally
+        {
+            server.stop();
+        }
+    }
+
+    public void testResolverTransportNative()
+            throws Exception
+    {
+        File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/mng-7470-resolver-transport" );
+
+        HttpServer server = HttpServer.builder()
+                .port( 0 )
+                .source( new File( testDir, "repo" ) )
+                .build();
+        server.start();
+        try
+        {
+            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, "native" ).getAbsolutePath() );
+            verifier.deleteDirectory( "target" );
+            verifier.deleteArtifacts( "org.apache.maven.its.resolver-transport.native" );
+            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=native" );
+            verifier.executeGoal( "verify" );
+            verifier.verifyErrorFreeLog();
+            verifier.resetStreams();
+        }
+        finally
+        {
+            server.stop();
+        }
+    }
+}
diff --git a/core-it-suite/src/test/resources/mng-7470-resolver-transport/native/pom.xml b/core-it-suite/src/test/resources/mng-7470-resolver-transport/native/pom.xml
new file mode 100644
index 000000000..ce114fcaf
--- /dev/null
+++ b/core-it-suite/src/test/resources/mng-7470-resolver-transport/native/pom.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<project>
+  <modelVersion>4.0.0</modelVersion>
+
+  <groupId>org.apache.maven.its.resolver-transport.native</groupId>
+  <artifactId>artifact</artifactId>
+  <version>0.1</version>
+  <packaging>jar</packaging>
+
+  <name>Maven Integration Test :: resolver-transport :: native</name>
+  <description>
+    Verify that Maven transport Native works.
+  </description>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.maven.its.resolver-transport.native</groupId>
+      <artifactId>dependency</artifactId>
+      <version>1.0</version>
+    </dependency>
+  </dependencies>
+</project>
diff --git a/core-it-suite/src/test/resources/mng-7470-resolver-transport/repo/org/apache/maven/its/resolver-transport/native/dependency/1.0/dependency-1.0.jar b/core-it-suite/src/test/resources/mng-7470-resolver-transport/repo/org/apache/maven/its/resolver-transport/native/dependency/1.0/dependency-1.0.jar
new file mode 100644
index 000000000..c7c00e8cc
Binary files /dev/null and b/core-it-suite/src/test/resources/mng-7470-resolver-transport/repo/org/apache/maven/its/resolver-transport/native/dependency/1.0/dependency-1.0.jar differ
diff --git a/core-it-suite/src/test/resources/mng-7470-resolver-transport/repo/org/apache/maven/its/resolver-transport/native/dependency/1.0/dependency-1.0.jar.sha1 b/core-it-suite/src/test/resources/mng-7470-resolver-transport/repo/org/apache/maven/its/resolver-transport/native/dependency/1.0/dependency-1.0.jar.sha1
new file mode 100644
index 000000000..ad5066ce3
--- /dev/null
+++ b/core-it-suite/src/test/resources/mng-7470-resolver-transport/repo/org/apache/maven/its/resolver-transport/native/dependency/1.0/dependency-1.0.jar.sha1
@@ -0,0 +1 @@
+b530516717ab5b3052fd3cdca860fc28574bd718
\ No newline at end of file
diff --git a/core-it-suite/src/test/resources/mng-7470-resolver-transport/repo/org/apache/maven/its/resolver-transport/native/dependency/1.0/dependency-1.0.pom b/core-it-suite/src/test/resources/mng-7470-resolver-transport/repo/org/apache/maven/its/resolver-transport/native/dependency/1.0/dependency-1.0.pom
new file mode 100644
index 000000000..f9fed21d3
--- /dev/null
+++ b/core-it-suite/src/test/resources/mng-7470-resolver-transport/repo/org/apache/maven/its/resolver-transport/native/dependency/1.0/dependency-1.0.pom
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<project>
+    <modelVersion>4.0.0</modelVersion>
+
+    <groupId>org.apache.maven.its.resolver-transport.wagon</groupId>
+    <artifactId>dependency</artifactId>
+    <version>1.0</version>
+    <packaging>jar</packaging>
+
+    <name>Maven Integration Test :: resolver-transport :: wagon</name>
+    <description>
+        Verify that Maven transport Wagon works.
+    </description>
+</project>
diff --git a/core-it-suite/src/test/resources/mng-7470-resolver-transport/repo/org/apache/maven/its/resolver-transport/native/dependency/1.0/dependency-1.0.pom.sha1 b/core-it-suite/src/test/resources/mng-7470-resolver-transport/repo/org/apache/maven/its/resolver-transport/native/dependency/1.0/dependency-1.0.pom.sha1
new file mode 100644
index 000000000..f4443cd56
--- /dev/null
+++ b/core-it-suite/src/test/resources/mng-7470-resolver-transport/repo/org/apache/maven/its/resolver-transport/native/dependency/1.0/dependency-1.0.pom.sha1
@@ -0,0 +1 @@
+97641443fee307b6c3593080be865df89ace3d86
diff --git a/core-it-suite/src/test/resources/mng-7470-resolver-transport/repo/org/apache/maven/its/resolver-transport/wagon/dependency/1.0/dependency-1.0.jar b/core-it-suite/src/test/resources/mng-7470-resolver-transport/repo/org/apache/maven/its/resolver-transport/wagon/dependency/1.0/dependency-1.0.jar
new file mode 100644
index 000000000..c7c00e8cc
Binary files /dev/null and b/core-it-suite/src/test/resources/mng-7470-resolver-transport/repo/org/apache/maven/its/resolver-transport/wagon/dependency/1.0/dependency-1.0.jar differ
diff --git a/core-it-suite/src/test/resources/mng-7470-resolver-transport/repo/org/apache/maven/its/resolver-transport/wagon/dependency/1.0/dependency-1.0.jar.sha1 b/core-it-suite/src/test/resources/mng-7470-resolver-transport/repo/org/apache/maven/its/resolver-transport/wagon/dependency/1.0/dependency-1.0.jar.sha1
new file mode 100644
index 000000000..ad5066ce3
--- /dev/null
+++ b/core-it-suite/src/test/resources/mng-7470-resolver-transport/repo/org/apache/maven/its/resolver-transport/wagon/dependency/1.0/dependency-1.0.jar.sha1
@@ -0,0 +1 @@
+b530516717ab5b3052fd3cdca860fc28574bd718
\ No newline at end of file
diff --git a/core-it-suite/src/test/resources/mng-7470-resolver-transport/repo/org/apache/maven/its/resolver-transport/wagon/dependency/1.0/dependency-1.0.pom b/core-it-suite/src/test/resources/mng-7470-resolver-transport/repo/org/apache/maven/its/resolver-transport/wagon/dependency/1.0/dependency-1.0.pom
new file mode 100644
index 000000000..f9fed21d3
--- /dev/null
+++ b/core-it-suite/src/test/resources/mng-7470-resolver-transport/repo/org/apache/maven/its/resolver-transport/wagon/dependency/1.0/dependency-1.0.pom
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<project>
+    <modelVersion>4.0.0</modelVersion>
+
+    <groupId>org.apache.maven.its.resolver-transport.wagon</groupId>
+    <artifactId>dependency</artifactId>
+    <version>1.0</version>
+    <packaging>jar</packaging>
+
+    <name>Maven Integration Test :: resolver-transport :: wagon</name>
+    <description>
+        Verify that Maven transport Wagon works.
+    </description>
+</project>
diff --git a/core-it-suite/src/test/resources/mng-7470-resolver-transport/repo/org/apache/maven/its/resolver-transport/wagon/dependency/1.0/dependency-1.0.pom.sha1 b/core-it-suite/src/test/resources/mng-7470-resolver-transport/repo/org/apache/maven/its/resolver-transport/wagon/dependency/1.0/dependency-1.0.pom.sha1
new file mode 100644
index 000000000..f4443cd56
--- /dev/null
+++ b/core-it-suite/src/test/resources/mng-7470-resolver-transport/repo/org/apache/maven/its/resolver-transport/wagon/dependency/1.0/dependency-1.0.pom.sha1
@@ -0,0 +1 @@
+97641443fee307b6c3593080be865df89ace3d86
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/settings-template.xml
new file mode 100644
index 000000000..58c6e14f8
--- /dev/null
+++ b/core-it-suite/src/test/resources/mng-7470-resolver-transport/settings-template.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<settings>
+  <profiles>
+    <profile>
+      <id>maven-core-it-repo</id>
+      <repositories>
+        <repository>
+          <id>maven-core-it</id>
+          <url>http://localhost:@port@</url>
+          <releases>
+            <enabled>true</enabled>
+          </releases>
+          <snapshots>
+            <enabled>true</enabled>
+          </snapshots>
+        </repository>
+      </repositories>
+    </profile>
+  </profiles>
+</settings>
diff --git a/core-it-suite/src/test/resources/mng-7470-resolver-transport/wagon/pom.xml b/core-it-suite/src/test/resources/mng-7470-resolver-transport/wagon/pom.xml
new file mode 100644
index 000000000..ced327b9e
--- /dev/null
+++ b/core-it-suite/src/test/resources/mng-7470-resolver-transport/wagon/pom.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<project>
+  <modelVersion>4.0.0</modelVersion>
+
+  <groupId>org.apache.maven.its.resolver-transport.wagon</groupId>
+  <artifactId>artifact</artifactId>
+  <version>0.1</version>
+  <packaging>jar</packaging>
+
+  <name>Maven Integration Test :: resolver-transport :: wagon</name>
+  <description>
+    Verify that Maven transport Wagon works.
+  </description>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.maven.its.resolver-transport.wagon</groupId>
+      <artifactId>dependency</artifactId>
+      <version>1.0</version>
+    </dependency>
+  </dependencies>
+</project>