You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by kw...@apache.org on 2021/10/21 19:34:32 UTC

[jackrabbit-filevault-package-maven-plugin] branch bugfix/JCRVLT-566-fix-parsing-of-defaultseverity created (now 96710b3)

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

kwin pushed a change to branch bugfix/JCRVLT-566-fix-parsing-of-defaultseverity
in repository https://gitbox.apache.org/repos/asf/jackrabbit-filevault-package-maven-plugin.git.


      at 96710b3  JCRVLT-566 fix parsing of defaultSeverity inside validatorSettings

This branch includes the following new commits:

     new 96710b3  JCRVLT-566 fix parsing of defaultSeverity inside validatorSettings

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


[jackrabbit-filevault-package-maven-plugin] 01/01: JCRVLT-566 fix parsing of defaultSeverity inside validatorSettings

Posted by kw...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

kwin pushed a commit to branch bugfix/JCRVLT-566-fix-parsing-of-defaultseverity
in repository https://gitbox.apache.org/repos/asf/jackrabbit-filevault-package-maven-plugin.git

commit 96710b35cf2034157a318a8cb291ff0a99fd8aec
Author: Konrad Windszus <kw...@apache.org>
AuthorDate: Thu Oct 21 21:34:23 2021 +0200

    JCRVLT-566 fix parsing of defaultSeverity inside validatorSettings
    
    improve IT for validate-packages to check for more details on issues
---
 .../maven/packaging/AbstractValidateMojo.java      |  2 +-
 .../maven/packaging/it/ValidatePackageIT.java      | 47 +++++++++++++++++++++-
 .../filevault/maven/packaging/it/report.csv        |  7 ++++
 .../invalid-project/META-INF/vault/filter.xml      |  1 +
 .../jcr_root/apps/test/.content.xml                |  3 ++
 .../validator-projects/invalid-project/pom.xml     |  6 +++
 6 files changed, 64 insertions(+), 2 deletions(-)

diff --git a/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/AbstractValidateMojo.java b/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/AbstractValidateMojo.java
index 7de12e7..f1e695a 100644
--- a/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/AbstractValidateMojo.java
+++ b/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/AbstractValidateMojo.java
@@ -327,7 +327,7 @@ public abstract class AbstractValidateMojo extends AbstractMojo {
 
             // do no fully disable but emit violations with level DEBUG
             ValidatorSettings dependencyValidatorSettings = new ValidatorSettings();
-            dependencyValidatorSettings.setDefaultSeverity(ValidationMessageSeverity.DEBUG);
+            dependencyValidatorSettings.setDefaultSeverity(ValidationMessageSeverity.DEBUG.name());
             validatorsSettings.put(DependencyValidatorFactory.ID, dependencyValidatorSettings);
 
             ValidatorSettings filterValidatorSettings = validatorsSettings.containsKey(AdvancedFilterValidatorFactory.ID) ? validatorsSettings.get(AdvancedFilterValidatorFactory.ID) : new ValidatorSettings();
diff --git a/src/test/java/org/apache/jackrabbit/filevault/maven/packaging/it/ValidatePackageIT.java b/src/test/java/org/apache/jackrabbit/filevault/maven/packaging/it/ValidatePackageIT.java
index 0bb753f..7650bbe 100644
--- a/src/test/java/org/apache/jackrabbit/filevault/maven/packaging/it/ValidatePackageIT.java
+++ b/src/test/java/org/apache/jackrabbit/filevault/maven/packaging/it/ValidatePackageIT.java
@@ -18,14 +18,21 @@ package org.apache.jackrabbit.filevault.maven.packaging.it;
 
 import java.io.File;
 import java.io.IOException;
+import java.io.InputStream;
 import java.nio.charset.StandardCharsets;
 import java.nio.file.Paths;
+import java.util.Arrays;
+import java.util.Collection;
 import java.util.List;
 
 import org.apache.commons.csv.CSVFormat;
 import org.apache.commons.csv.CSVParser;
 import org.apache.commons.csv.CSVRecord;
 import org.apache.maven.it.VerificationException;
+import org.hamcrest.Description;
+import org.hamcrest.MatcherAssert;
+import org.hamcrest.Matchers;
+import org.hamcrest.TypeSafeMatcher;
 import org.junit.Assert;
 import org.junit.Test;
 
@@ -48,7 +55,12 @@ public class ValidatePackageIT {
         Assert.assertTrue(csvReportFile.exists());
         CSVParser csvParser = CSVParser.parse(csvReportFile, StandardCharsets.UTF_8, CSVFormat.EXCEL);
         List<CSVRecord> actualRecords = csvParser.getRecords();
-        Assert.assertEquals(5, actualRecords.size()); // 4 issues + header
+        try (InputStream input = getClass().getResourceAsStream("report.csv")) {
+            csvParser = CSVParser.parse(input, StandardCharsets.UTF_8, CSVFormat.EXCEL);
+            List<CSVRecord> expectedRecords = csvParser.getRecords();
+            // ignore file name in records.csv (4th column)
+            MatcherAssert.assertThat(actualRecords, Matchers.contains(expectedRecords.stream().map(r -> new CSVRecordMatcher(r, 3)).toArray(CSVRecordMatcher[]::new)));
+        }
     }
  
     @Test
@@ -60,4 +72,37 @@ public class ValidatePackageIT {
     public void testValidProjectWithClassifier() throws Exception {
         verify("classifier-project", false, "test");
     }
+
+    private static final class CSVRecordMatcher extends TypeSafeMatcher<CSVRecord> {
+        private final CSVRecord expectedCsvRecord;
+        private final Collection<Integer> ignoredValueIndices;
+
+        CSVRecordMatcher(CSVRecord csvRecord, Integer... ignoredValueIndices) {
+            this.expectedCsvRecord = csvRecord;
+            this.ignoredValueIndices =  Arrays.asList(ignoredValueIndices);
+        }
+
+        @Override
+        public void describeTo(Description description) {
+            description.appendText(expectedCsvRecord.toString());
+        }
+
+        @Override
+        protected boolean matchesSafely(CSVRecord item) {
+            int size = expectedCsvRecord.size();
+            if (item.size() != size) {
+                return false;
+            }
+            for (int i=0; i<size; i++) {
+                if(ignoredValueIndices.contains(i)) {
+                    continue;
+                }
+                if (!item.get(i).equals(expectedCsvRecord.get(i))) {
+                    return false;
+                }
+            }
+            return true;
+        }
+        
+    }
 }
diff --git a/src/test/resources/org/apache/jackrabbit/filevault/maven/packaging/it/report.csv b/src/test/resources/org/apache/jackrabbit/filevault/maven/packaging/it/report.csv
new file mode 100644
index 0000000..348fa2e
--- /dev/null
+++ b/src/test/resources/org/apache/jackrabbit/filevault/maven/packaging/it/report.csv
@@ -0,0 +1,7 @@
+Severity,Validator ID,Message,File,Line:Column,Node Path
+ERROR,jackrabbit-filter,Invalid pattern given ('invalidpattern') which will never match for any descendants of the root path '/apps/wcm/core/content'.,/Users/konradwindszus/git/jackrabbit-filevault-package-maven-plugin/target/test-classes/test-projects/validator-projects/invalid-project/target/package-plugin-test-pkg-1.0.0-SNAPSHOT.zip/META-INF/vault/filter.xml,0:0,
+WARN,jackrabbit-filter,Filter root's ancestor '/apps/wcm/core' is not covered by any of the specified dependencies nor a valid root.,/Users/konradwindszus/git/jackrabbit-filevault-package-maven-plugin/target/test-classes/test-projects/validator-projects/invalid-project/target/package-plugin-test-pkg-1.0.0-SNAPSHOT.zip/META-INF/vault/filter.xml,0:0,
+WARN,jackrabbit-packagetype,Package of type 'CONTENT' is not supposed to contain content below root nodes 'apps' or 'libs'!,/Users/konradwindszus/git/jackrabbit-filevault-package-maven-plugin/target/test-classes/test-projects/validator-projects/invalid-project/target/package-plugin-test-pkg-1.0.0-SNAPSHOT.zip/jcr_root/apps/test,0:0,/apps/test
+WARN,jackrabbit-nodetypes,Invalid primary type 'sling:Folder': sling: is not a registered namespace prefix. Skip validation of nodes with that type/name,/Users/konradwindszus/git/jackrabbit-filevault-package-maven-plugin/target/test-classes/test-projects/validator-projects/invalid-project/target/package-plugin-test-pkg-1.0.0-SNAPSHOT.zip/jcr_root/apps/test/.content.xml,3:37,/apps/test
+WARN,jackrabbit-packagetype,Package of type 'CONTENT' is not supposed to contain content below root nodes 'apps' or 'libs'!,/Users/konradwindszus/git/jackrabbit-filevault-package-maven-plugin/target/test-classes/test-projects/validator-projects/invalid-project/target/package-plugin-test-pkg-1.0.0-SNAPSHOT.zip/jcr_root/apps/test/.content.xml,3:0,/apps/test
+WARN,jackrabbit-filter,"Found orphaned filter entries: includes [regex: invalidpattern] below root '/apps/wcm/core/content', entry with root '/rep:policy'",,0:0,
diff --git a/src/test/resources/test-projects/validator-projects/invalid-project/META-INF/vault/filter.xml b/src/test/resources/test-projects/validator-projects/invalid-project/META-INF/vault/filter.xml
index c29c176..3b95c9e 100644
--- a/src/test/resources/test-projects/validator-projects/invalid-project/META-INF/vault/filter.xml
+++ b/src/test/resources/test-projects/validator-projects/invalid-project/META-INF/vault/filter.xml
@@ -20,4 +20,5 @@
         <include pattern="invalidpattern"/>
     </filter>
     <filter root="/rep:policy" mode="merge"/>
+    <filter root="/apps/test" />
 </workspaceFilter>
diff --git a/src/test/resources/test-projects/validator-projects/invalid-project/jcr_root/apps/test/.content.xml b/src/test/resources/test-projects/validator-projects/invalid-project/jcr_root/apps/test/.content.xml
new file mode 100644
index 0000000..fd1e601
--- /dev/null
+++ b/src/test/resources/test-projects/validator-projects/invalid-project/jcr_root/apps/test/.content.xml
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<jcr:root xmlns:sling="http://sling.apache.org/jcr/sling/1.0" xmlns:cq="http://www.day.com/jcr/cq/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0"
+    jcr:primaryType="sling:Folder"/>
diff --git a/src/test/resources/test-projects/validator-projects/invalid-project/pom.xml b/src/test/resources/test-projects/validator-projects/invalid-project/pom.xml
index 436a1a1..d142501 100755
--- a/src/test/resources/test-projects/validator-projects/invalid-project/pom.xml
+++ b/src/test/resources/test-projects/validator-projects/invalid-project/pom.xml
@@ -31,6 +31,12 @@
                 <extensions>true</extensions>
                 <configuration>
                     <csvReportFile>report.csv</csvReportFile>
+                    <packageType>content</packageType>
+                    <validatorsSettings>
+                        <jackrabbit-packagetype>
+                            <defaultSeverity>warn</defaultSeverity>
+                        </jackrabbit-packagetype>
+                    </validatorsSettings>
                 </configuration>
             </plugin>
         </plugins>