From 4145b42a37b2b8ad87cfc464f62d7aace1b33ebf Mon Sep 17 00:00:00 2001 From: Mikolaj Izdebski Date: Sat, 13 Apr 2019 17:07:44 +0200 Subject: [PATCH 4/4] Revert "[MNG-6479] Upgrade XMLUnit to 2.2.1 (#183)" This reverts commit 91fa89ea2876448bf73b47763d43307149601749. --- maven-model-builder/pom.xml | 10 +-- .../DefaultInheritanceAssemblerTest.java | 66 +++++++++++-------- .../plugin-configuration-expected.xml | 2 +- pom.xml | 13 ---- 4 files changed, 43 insertions(+), 48 deletions(-) diff --git a/maven-model-builder/pom.xml b/maven-model-builder/pom.xml index 9b4f87027..9404d2524 100644 --- a/maven-model-builder/pom.xml +++ b/maven-model-builder/pom.xml @@ -71,13 +71,9 @@ under the License. test - org.xmlunit - xmlunit-core - test - - - org.xmlunit - xmlunit-matchers + xmlunit + xmlunit + 1.6 test diff --git a/maven-model-builder/src/test/java/org/apache/maven/model/inheritance/DefaultInheritanceAssemblerTest.java b/maven-model-builder/src/test/java/org/apache/maven/model/inheritance/DefaultInheritanceAssemblerTest.java index 07a121ae5..dce6c0123 100644 --- a/maven-model-builder/src/test/java/org/apache/maven/model/inheritance/DefaultInheritanceAssemblerTest.java +++ b/maven-model-builder/src/test/java/org/apache/maven/model/inheritance/DefaultInheritanceAssemblerTest.java @@ -21,16 +21,21 @@ import org.apache.maven.model.Model; import org.apache.maven.model.building.SimpleProblemCollector; +import org.apache.maven.model.io.ModelParseException; import org.apache.maven.model.io.ModelReader; import org.apache.maven.model.io.ModelWriter; import org.codehaus.plexus.PlexusTestCase; +import org.custommonkey.xmlunit.XMLAssert; +import org.custommonkey.xmlunit.XMLUnit; -import org.xmlunit.matchers.CompareMatcher; +import junit.framework.AssertionFailedError; import java.io.File; +import java.io.FileInputStream; import java.io.IOException; - -import static org.junit.Assert.assertThat; +import java.io.InputStreamReader; +import java.io.Reader; +import java.nio.charset.StandardCharsets; /** * @author Hervé Boutemy @@ -61,7 +66,7 @@ private File getPom( String name ) } private Model getModel( String name ) - throws IOException + throws ModelParseException, IOException { return reader.read( getPom( name ), null ); } @@ -75,7 +80,7 @@ public void testPluginConfiguration() /** * Check most classical urls inheritance: directory structure where parent POM in parent directory * and child directory == artifactId - * @throws IOException Model read problem + * @throws Exception */ public void testUrls() throws Exception @@ -85,10 +90,10 @@ public void testUrls() /** * Flat directory structure: parent & child POMs in sibling directories, child directory == artifactId. - * @throws IOException Model read problem + * @throws Exception */ public void testFlatUrls() - throws IOException + throws Exception { testInheritance( "flat-urls" ); } @@ -127,10 +132,10 @@ public void testNoAppendUrls3() * Tricky case: flat directory structure, but child directory != artifactId. * Model interpolation does not give same result when calculated from build or from repo... * This is why MNG-5000 fix in code is marked as bad practice (uses file names) - * @throws IOException Model read problem + * @throws Exception */ public void testFlatTrickyUrls() - throws IOException + throws Exception { // parent references child with artifactId (which is not directory name) // then relative path calculation will fail during build from disk but success when calculated from repo @@ -140,49 +145,46 @@ public void testFlatTrickyUrls() testInheritance( "tricky-flat-artifactId-urls", false ); //fail( "should have failed since module reference == artifactId != directory name" ); } - catch ( AssertionError afe ) + catch ( AssertionFailedError afe ) { // expected failure: wrong relative path calculation assertTrue( afe.getMessage(), - afe.getMessage().contains( - "Expected text value 'http://www.apache.org/path/to/parent/child-artifact-id/' but was " + - "'http://www.apache.org/path/to/parent/../child-artifact-id/'" ) ); + afe.getMessage().contains( "http://www.apache.org/path/to/parent/child-artifact-id/" ) ); } // but ok from repo: local disk is ignored testInheritance( "tricky-flat-artifactId-urls", true ); // parent references child with directory name (which is not artifact id) - // then relative path calculation will success during build from disk but fail when calculated from repo + // then relative path calculation will success during build from disk but failwhen calculated from repo testInheritance( "tricky-flat-directory-urls", false ); try { testInheritance( "tricky-flat-directory-urls", true ); fail( "should have failed since module reference == directory name != artifactId" ); } - catch ( AssertionError afe ) + catch ( AssertionFailedError afe ) { // expected failure - assertTrue( afe.getMessage(), afe.getMessage().contains( - "Expected text value 'http://www.apache.org/path/to/parent/../child-artifact-id/' but was " + - "'http://www.apache.org/path/to/parent/child-artifact-id/'" ) ); + assertTrue( afe.getMessage(), + afe.getMessage().contains( "http://www.apache.org/path/to/parent/child-artifact-id/" ) ); } } public void testWithEmptyUrl() - throws IOException + throws Exception { testInheritance( "empty-urls", false ); } public void testInheritance( String baseName ) - throws IOException + throws Exception { testInheritance( baseName, false ); testInheritance( baseName, true ); } public void testInheritance( String baseName, boolean fromRepo ) - throws IOException + throws Exception { Model parent = getModel( baseName + "-parent" ); @@ -207,12 +209,17 @@ public void testInheritance( String baseName, boolean fromRepo ) // check with getPom( baseName + "-expected" ) File expected = getPom( baseName + "-expected" ); - - assertThat( actual, CompareMatcher.isIdenticalTo( expected ).ignoreComments().ignoreWhitespace() ); - } + try ( Reader control = new InputStreamReader( new FileInputStream( expected ), StandardCharsets.UTF_8 ); + Reader test = new InputStreamReader( new FileInputStream( actual ), StandardCharsets.UTF_8 ) ) + { + XMLUnit.setIgnoreComments( true ); + XMLUnit.setIgnoreWhitespace( true ); + XMLAssert.assertXMLEqual( control, test ); + } + } public void testModulePathNotArtifactId() - throws IOException + throws Exception { Model parent = getModel( "module-path-not-artifactId-parent" ); @@ -228,7 +235,12 @@ public void testModulePathNotArtifactId() // check with getPom( "module-path-not-artifactId-effective" ) File expected = getPom( "module-path-not-artifactId-expected" ); - - assertThat( actual, CompareMatcher.isIdenticalTo(expected).ignoreComments().ignoreWhitespace() ); + try ( Reader control = new InputStreamReader( new FileInputStream( expected ), StandardCharsets.UTF_8 ); + Reader test = new InputStreamReader( new FileInputStream( actual ), StandardCharsets.UTF_8 ) ) + { + XMLUnit.setIgnoreComments( true ); + XMLUnit.setIgnoreWhitespace( true ); + XMLAssert.assertXMLEqual( control, test ); + } } } diff --git a/maven-model-builder/src/test/resources/poms/inheritance/plugin-configuration-expected.xml b/maven-model-builder/src/test/resources/poms/inheritance/plugin-configuration-expected.xml index 318ee4488..00a21f3dd 100644 --- a/maven-model-builder/src/test/resources/poms/inheritance/plugin-configuration-expected.xml +++ b/maven-model-builder/src/test/resources/poms/inheritance/plugin-configuration-expected.xml @@ -34,9 +34,9 @@ under the License. parent + post@mailing.list.com subscribe@mailing.list.com unsubscribe@mailing.list.com - post@mailing.list.com diff --git a/pom.xml b/pom.xml index 84fc037bc..2e7907137 100644 --- a/pom.xml +++ b/pom.xml @@ -66,7 +66,6 @@ under the License. 1.3 1.3.3 1.7.25 - 2.2.1 true apache-maven @@ -405,18 +404,6 @@ under the License. ${mockitoVersion} test - - org.xmlunit - xmlunit-core - ${xmlunitVersion} - test - - - org.xmlunit - xmlunit-matchers - ${xmlunitVersion} - test - -- 2.20.1