This is an automated email from the ASF dual-hosted git repository. tmaret pushed a commit to branch SLING-10095-4 in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-distribution-journal.git
commit 721bb7f3225fda39d19ce89557cc3ac421849a76 Author: tmaret <[email protected]> AuthorDate: Fri Dec 17 23:27:45 2021 +0100 SLING-10095 - Add negative test case --- .../journal/bookkeeper/ContentPackageExtractorTest.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/test/java/org/apache/sling/distribution/journal/bookkeeper/ContentPackageExtractorTest.java b/src/test/java/org/apache/sling/distribution/journal/bookkeeper/ContentPackageExtractorTest.java index 5f6eaa2..ace5025 100644 --- a/src/test/java/org/apache/sling/distribution/journal/bookkeeper/ContentPackageExtractorTest.java +++ b/src/test/java/org/apache/sling/distribution/journal/bookkeeper/ContentPackageExtractorTest.java @@ -19,6 +19,7 @@ package org.apache.sling.distribution.journal.bookkeeper; import static java.util.Collections.singletonList; +import static org.mockito.Mockito.doThrow; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @@ -33,10 +34,12 @@ import javax.jcr.nodetype.NodeType; import org.apache.jackrabbit.vault.fs.io.ImportOptions; import org.apache.jackrabbit.vault.packaging.JcrPackage; import org.apache.jackrabbit.vault.packaging.JcrPackageManager; +import org.apache.jackrabbit.vault.packaging.PackageException; import org.apache.jackrabbit.vault.packaging.Packaging; import org.apache.sling.api.resource.PersistenceException; import org.apache.sling.api.resource.Resource; import org.apache.sling.api.resource.ResourceResolver; +import org.apache.sling.distribution.common.DistributionException; import org.apache.sling.testing.mock.osgi.MockOsgi; import org.apache.sling.testing.mock.sling.MockSling; import org.apache.sling.testing.mock.sling.ResourceResolverType; @@ -135,6 +138,17 @@ public class ContentPackageExtractorTest { verify(pkg).install(Mockito.any(ImportOptions.class)); } + @Test(expected = DistributionException.class) + public void testFailedInstall() throws Exception { + + doThrow(new PackageException()).when(pkg) + .install(Mockito.any(ImportOptions.class)); + + Resource node = createImportedPackage(); + ContentPackageExtractor extractor = new ContentPackageExtractor(packaging, PackageHandling.Install); + extractor.handle(resourceResolver, singletonList(node.getPath())); + } + private Resource createImportedPackage() throws PersistenceException { Resource packages = createEtcPackages();
