This is an automated email from the ASF dual-hosted git repository. rombert pushed a commit to annotated tag org.apache.sling.testing.sling-mock-1.6.0 in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-testing-sling-mock.git
commit 81238685c332d76339bf5b36b65fa0dca3704d64 Author: Stefan Seifert <[email protected]> AuthorDate: Fri Sep 18 08:05:36 2015 +0000 SLING-5043 sling-mocks: Execute commit() after ContentLoader operations git-svn-id: https://svn.apache.org/repos/asf/sling/trunk/testing/mocks/sling-mock@1703762 13f79535-47bb-0310-9956-ffa450edef68 --- .../sling/testing/mock/sling/loader/ContentLoader.java | 10 ++++++++-- .../mock/sling/loader/AbstractContentLoaderBinaryTest.java | 14 ++++++++++++++ .../sling/loader/AbstractContentLoaderJsonDamTest.java | 14 ++++++++++++++ .../mock/sling/loader/AbstractContentLoaderJsonTest.java | 14 ++++++++++++++ 4 files changed, 50 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/apache/sling/testing/mock/sling/loader/ContentLoader.java b/src/main/java/org/apache/sling/testing/mock/sling/loader/ContentLoader.java index 8473527..7729618 100644 --- a/src/main/java/org/apache/sling/testing/mock/sling/loader/ContentLoader.java +++ b/src/main/java/org/apache/sling/testing/mock/sling/loader/ContentLoader.java @@ -52,6 +52,7 @@ import com.google.common.collect.ImmutableSet; /** * Imports JSON data and binary data into Sling resource hierarchy. + * After all import operations from json or binaries {@link ResourceResolver#commit()} is called. */ public final class ContentLoader { @@ -173,7 +174,9 @@ public final class ContentLoader { String jsonString = convertToJsonString(inputStream).trim(); JSONObject json = new JSONObject(jsonString); - return this.createResource(parentResource, childName, json); + Resource resource = this.createResource(parentResource, childName, json); + resourceResolver.commit(); + return resource; } catch (JSONException ex) { throw new RuntimeException(ex); } catch (IOException ex) { @@ -467,6 +470,7 @@ public final class ContentLoader { resourceResolver.create(file, JcrConstants.JCR_CONTENT, ImmutableMap.<String, Object> builder().put(JcrConstants.JCR_PRIMARYTYPE, JcrConstants.NT_RESOURCE) .put(JcrConstants.JCR_DATA, inputStream).put(JcrConstants.JCR_MIMETYPE, mimeType).build()); + resourceResolver.commit(); return file; } catch (PersistenceException ex) { throw new RuntimeException("Unable to create resource at " + parentResource.getPath() + "/" + name, ex); @@ -579,9 +583,11 @@ public final class ContentLoader { */ public Resource binaryResource(InputStream inputStream, Resource parentResource, String name, String mimeType) { try { - return resourceResolver.create(parentResource, name, + Resource resource = resourceResolver.create(parentResource, name, ImmutableMap.<String, Object> builder().put(JcrConstants.JCR_PRIMARYTYPE, JcrConstants.NT_RESOURCE) .put(JcrConstants.JCR_DATA, inputStream).put(JcrConstants.JCR_MIMETYPE, mimeType).build()); + resourceResolver.commit(); + return resource; } catch (PersistenceException ex) { throw new RuntimeException("Unable to create resource at " + parentResource.getPath() + "/" + name, ex); } diff --git a/src/test/java/org/apache/sling/testing/mock/sling/loader/AbstractContentLoaderBinaryTest.java b/src/test/java/org/apache/sling/testing/mock/sling/loader/AbstractContentLoaderBinaryTest.java index 5765612..df41247 100644 --- a/src/test/java/org/apache/sling/testing/mock/sling/loader/AbstractContentLoaderBinaryTest.java +++ b/src/test/java/org/apache/sling/testing/mock/sling/loader/AbstractContentLoaderBinaryTest.java @@ -19,6 +19,7 @@ package org.apache.sling.testing.mock.sling.loader; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; import static org.mockito.Mockito.when; @@ -35,6 +36,7 @@ import org.apache.sling.commons.mime.MimeTypeService; import org.apache.sling.testing.mock.osgi.MockOsgi; import org.apache.sling.testing.mock.sling.MockSling; import org.apache.sling.testing.mock.sling.ResourceResolverType; +import org.junit.After; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; @@ -70,6 +72,18 @@ public abstract class AbstractContentLoaderBinaryTest { when(mimeTypeService.getMimeType("gif")).thenReturn("image/gif"); } + @After + public final void tearDown() throws Exception { + // make sure all changes from ContentLoader are committed + assertFalse(resourceResolver.hasChanges()); + // remove everything below /content + Resource content = resourceResolver.getResource("/content"); + if (content != null) { + resourceResolver.delete(content); + resourceResolver.commit(); + } + } + @Test public void testBinaryFile() throws IOException { contentLoader.binaryFile("/sample-image.gif", "/content/binary/sample-image.gif"); diff --git a/src/test/java/org/apache/sling/testing/mock/sling/loader/AbstractContentLoaderJsonDamTest.java b/src/test/java/org/apache/sling/testing/mock/sling/loader/AbstractContentLoaderJsonDamTest.java index 54fdb67..db83b99 100644 --- a/src/test/java/org/apache/sling/testing/mock/sling/loader/AbstractContentLoaderJsonDamTest.java +++ b/src/test/java/org/apache/sling/testing/mock/sling/loader/AbstractContentLoaderJsonDamTest.java @@ -20,6 +20,7 @@ package org.apache.sling.testing.mock.sling.loader; import static org.junit.Assert.assertArrayEquals; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; import java.io.IOException; @@ -37,6 +38,7 @@ import org.apache.sling.api.resource.ResourceUtil; import org.apache.sling.api.resource.ValueMap; import org.apache.sling.testing.mock.sling.MockSling; import org.apache.sling.testing.mock.sling.ResourceResolverType; +import org.junit.After; import org.junit.Before; import org.junit.Test; @@ -73,6 +75,18 @@ public abstract class AbstractContentLoaderJsonDamTest { contentLoader.json("/json-import-samples/dam.json", "/content/dam/sample"); } + @After + public final void tearDown() throws Exception { + // make sure all changes from ContentLoader are committed + assertFalse(resourceResolver.hasChanges()); + // remove everything below /content + Resource content = resourceResolver.getResource("/content"); + if (content != null) { + resourceResolver.delete(content); + resourceResolver.commit(); + } + } + @Test public void testDamAssetMetadata() throws IOException { Resource assetMetadata = this.resourceResolver diff --git a/src/test/java/org/apache/sling/testing/mock/sling/loader/AbstractContentLoaderJsonTest.java b/src/test/java/org/apache/sling/testing/mock/sling/loader/AbstractContentLoaderJsonTest.java index 702294a..ff1471b 100644 --- a/src/test/java/org/apache/sling/testing/mock/sling/loader/AbstractContentLoaderJsonTest.java +++ b/src/test/java/org/apache/sling/testing/mock/sling/loader/AbstractContentLoaderJsonTest.java @@ -20,6 +20,7 @@ package org.apache.sling.testing.mock.sling.loader; import static org.junit.Assert.assertArrayEquals; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; import java.util.Calendar; @@ -37,6 +38,7 @@ import org.apache.sling.api.resource.ResourceUtil; import org.apache.sling.api.resource.ValueMap; import org.apache.sling.testing.mock.sling.MockSling; import org.apache.sling.testing.mock.sling.ResourceResolverType; +import org.junit.After; import org.junit.Before; import org.junit.Test; @@ -73,6 +75,18 @@ public abstract class AbstractContentLoaderJsonTest { contentLoader.json("/json-import-samples/content.json", "/content/sample/en"); } + @After + public final void tearDown() throws Exception { + // make sure all changes from ContentLoader are committed + assertFalse(resourceResolver.hasChanges()); + // remove everything below /content + Resource content = resourceResolver.getResource("/content"); + if (content != null) { + resourceResolver.delete(content); + resourceResolver.commit(); + } + } + @Test public void testPageResourceType() { Resource resource = this.resourceResolver.getResource("/content/sample/en"); -- To stop receiving notification emails like this one, please contact "[email protected]" <[email protected]>.
