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

bdelacretaz pushed a commit to branch master
in repository 
https://gitbox.apache.org/repos/asf/sling-org-apache-sling-launchpad-integration-tests.git


The following commit(s) were added to refs/heads/master by this push:
     new 48c0e96  SLING-7832 - save and restore the /content node for test 
isolation
48c0e96 is described below

commit 48c0e963b781974a6bf2613e97701f5571bc6953
Author: Bertrand Delacretaz <[email protected]>
AuthorDate: Fri Aug 17 15:50:24 2018 +0200

    SLING-7832 - save and restore the /content node for test isolation
---
 .../ResourceResolverGeneralTest.java               | 26 ++++++++++++++++++++--
 1 file changed, 24 insertions(+), 2 deletions(-)

diff --git 
a/src/main/java/org/apache/sling/launchpad/webapp/integrationtest/resourceresolver/ResourceResolverGeneralTest.java
 
b/src/main/java/org/apache/sling/launchpad/webapp/integrationtest/resourceresolver/ResourceResolverGeneralTest.java
index 58a0912..f4d5e79 100644
--- 
a/src/main/java/org/apache/sling/launchpad/webapp/integrationtest/resourceresolver/ResourceResolverGeneralTest.java
+++ 
b/src/main/java/org/apache/sling/launchpad/webapp/integrationtest/resourceresolver/ResourceResolverGeneralTest.java
@@ -23,6 +23,7 @@ import java.util.HashSet;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
+import java.util.UUID;
 import javax.jcr.Node;
 import javax.jcr.RepositoryException;
 import javax.jcr.Session;
@@ -61,6 +62,8 @@ public class ResourceResolverGeneralTest {
     public static final String PROP_REDIRECT_INTERNAL = 
"sling:internalRedirect";
     public static final String PROP_REDIRECT_EXTERNAL = "sling:redirect";
     public static final String MAPPING_EVENT_TOPIC = 
"org/apache/sling/api/resource/ResourceResolverMapping/CHANGED";
+    private static final String CONTENT = "content";
+    private static final String ABS_CONTENT = "/" + CONTENT;
 
     private static final Logger logger = 
LoggerFactory.getLogger(ResourceResolverGeneralTest.class);
     private static ResourceResolver resResolver;
@@ -68,6 +71,7 @@ public class ResourceResolverGeneralTest {
     private String rootPath;
     private Node rootNode;
     private Node mapRoot;
+    private Node savedContentNode;
     private String [] vanity;
     private static List<String> toDelete = new ArrayList<String>();
     private MappingsFacade mappingsFacade;
@@ -104,9 +108,19 @@ public class ResourceResolverGeneralTest {
         session = resResolver.adaptTo(Session.class);
         mappingsFacade = new MappingsFacade(eventsCounter);
 
+        // Save the /content node to restore it after our tests
+        savedContentNode = null;
+        if(session.nodeExists(ABS_CONTENT)) {
+            final String savePath = "/" + getClass().getSimpleName() + 
"-save-" + UUID.randomUUID();
+            savedContentNode = session.getNode(ABS_CONTENT);
+            session.move(ABS_CONTENT, savePath);
+            session.save();
+            savedContentNode = session.getNode(savePath);
+        }
+
         // Do the mappings setup only once, and clean it up
         // after all tests
-        rootNode = maybeCreateNode(session.getRootNode(), "content", 
"nt:unstructured");
+        rootNode = maybeCreateNode(session.getRootNode(), CONTENT, 
"nt:unstructured");
         rootPath = rootNode.getPath();
         session.save();
         if(toDelete.isEmpty()) {
@@ -145,7 +159,8 @@ public class ResourceResolverGeneralTest {
     }
 
     @After
-    public void deleteTestNodes() throws Exception {
+    public void cleanup() throws Exception {
+
         logger.debug("{} test done, deleting test nodes", 
getClass().getSimpleName());
         final ResourceResolver resolver = 
teleporter.getService(ResourceResolverFactory.class).getAdministrativeResourceResolver(null);
         final Session session = resolver.adaptTo(Session.class);
@@ -157,6 +172,13 @@ public class ResourceResolverGeneralTest {
                 }
             }
             toDelete.clear();
+
+            if(savedContentNode != null) {
+                logger.debug("Restoring {} node from {}", ABS_CONTENT, 
savedContentNode.getPath());
+                session.move(savedContentNode.getPath(), ABS_CONTENT);
+                savedContentNode = null;
+            }
+
             session.save();
         } finally {
             session.logout();

Reply via email to