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();