Skip to content

Commit bb2cf63

Browse files
Fix the allowReadOnlyMutablePaths (#24)
This closes #25 Co-authored-by: Santiago Garcia Pimentel <santiago.pimentel@netcentric.biz>
1 parent 909c32b commit bb2cf63

3 files changed

Lines changed: 26 additions & 2 deletions

File tree

src/main/java/biz/netcentric/filevault/validator/aem/cloud/AemCloudValidator.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ public Collection<ValidationMessage> validate(@NotNull String path) {
9696
hasMutableNodes = true;
9797
if (numVarNodeViolations < MAX_NUM_VIOLATIONS_PER_TYPE && !isPathWritableByDistributionJournalImporter(path)) {
9898
// check if package itself is only used on author
99-
if (!allowReadOnlyMutablePaths || !isContainedInAuthorOnlyPackage(containerValidationContext)) {
99+
if (!allowReadOnlyMutablePaths && !isContainedInAuthorOnlyPackage(containerValidationContext)) {
100100
// only emit once per package
101101
messages.add(new ValidationMessage(defaultSeverity, String.format(
102102
VIOLATION_MESSAGE_READONLY_MUTABLE_PATH, allowReadOnlyMutablePaths ? VIOLATION_MESSAGE_CONDITION_AUTHOR_ONLY_CONTAINER

src/main/java/biz/netcentric/filevault/validator/aem/cloud/AemCloudValidatorFactory.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ public Validator createValidator(@NotNull ValidationContext context, @NotNull Va
4646
if (settings.getOptions().containsKey(OPTION_ALLOW_LIBS_NODE)) {
4747
allowLibsNode = Boolean.parseBoolean(settings.getOptions().get(OPTION_ALLOW_LIBS_NODE));
4848
}
49-
return new AemCloudValidator(allowReadOnlyMutablePaths, allowLibsNode, context.getProperties().getPackageType(), context.getContainerValidationContext(), settings.getDefaultSeverity());
49+
return new AemCloudValidator(allowReadOnlyMutablePaths, allowLibsNode, context.getProperties().getPackageType(), context.getContainerValidationContext(), settings.getDefaultSeverity());
5050
}
5151

5252
@Override

src/test/java/biz/netcentric/filevault/validator/aem/cloud/AemCloudValidatorTest.java

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,14 @@
1313
* #L%
1414
*/
1515

16+
import static biz.netcentric.filevault.validator.aem.cloud.AemCloudValidator.VIOLATION_MESSAGE_READONLY_MUTABLE_PATH;
17+
1618
import java.nio.file.Paths;
19+
import java.util.Collection;
1720

21+
import org.apache.jackrabbit.vault.packaging.PackageType;
22+
import org.apache.jackrabbit.vault.validation.spi.ValidationMessage;
23+
import org.apache.jackrabbit.vault.validation.spi.ValidationMessageSeverity;
1824
import org.junit.jupiter.api.Assertions;
1925
import org.junit.jupiter.api.Test;
2026

@@ -46,4 +52,22 @@ void testIsPathWritableByDistributionJournalImporter() {
4652
Assertions.assertFalse(AemCloudValidator.isPathWritableByDistributionJournalImporter("/var"));
4753
Assertions.assertFalse(AemCloudValidator.isPathWritableByDistributionJournalImporter("/var/subnode/myfile"));
4854
}
55+
56+
57+
@Test
58+
void testMutablePaths(){
59+
AemCloudValidator validator= new AemCloudValidator(false,false, PackageType.CONTENT,null, ValidationMessageSeverity.ERROR);
60+
Collection<ValidationMessage> messages = validator.validate("/var/subnode");
61+
Assertions.assertFalse(messages.isEmpty());
62+
}
63+
64+
@Test
65+
void testAllowReadOnlyMutablePaths(){
66+
67+
AemCloudValidator validator= new AemCloudValidator(true,false, PackageType.CONTENT,null, ValidationMessageSeverity.ERROR);
68+
Collection<ValidationMessage> messages = validator.validate("/var/subnode");
69+
Assertions.assertTrue(messages.isEmpty());
70+
71+
}
72+
4973
}

0 commit comments

Comments
 (0)