You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ro...@apache.org on 2017/11/07 10:23:26 UTC

[sling-org-apache-sling-testing-sling-mock] 10/37: SLING-5043 sling-mocks: Execute commit() after ContentLoader operations

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 <ss...@apache.org>
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
"commits@sling.apache.org" <co...@sling.apache.org>.