You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lenya.apache.org by an...@apache.org on 2006/11/15 00:04:44 UTC
svn commit: r475044 -
/lenya/trunk/src/impl/test/org/apache/lenya/cms/publication/DocumentManagerTest.java
Author: andreas
Date: Tue Nov 14 15:04:43 2006
New Revision: 475044
URL: http://svn.apache.org/viewvc?view=rev&rev=475044
Log:
Added failing test for bug 40669 (order not preserved in live)
Modified:
lenya/trunk/src/impl/test/org/apache/lenya/cms/publication/DocumentManagerTest.java
Modified: lenya/trunk/src/impl/test/org/apache/lenya/cms/publication/DocumentManagerTest.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/impl/test/org/apache/lenya/cms/publication/DocumentManagerTest.java?view=diff&rev=475044&r1=475043&r2=475044
==============================================================================
--- lenya/trunk/src/impl/test/org/apache/lenya/cms/publication/DocumentManagerTest.java (original)
+++ lenya/trunk/src/impl/test/org/apache/lenya/cms/publication/DocumentManagerTest.java Tue Nov 14 15:04:43 2006
@@ -17,13 +17,16 @@
*/
package org.apache.lenya.cms.publication;
+import java.util.Arrays;
import java.util.HashMap;
+import java.util.List;
import java.util.Map;
import org.apache.lenya.ac.impl.AbstractAccessControlTest;
import org.apache.lenya.cms.site.NodeSet;
import org.apache.lenya.cms.site.SiteException;
import org.apache.lenya.cms.site.SiteNode;
+import org.apache.lenya.cms.site.SiteStructure;
import org.apache.lenya.cms.site.SiteUtil;
/**
@@ -42,6 +45,14 @@
doTestMoveAll(docManager, "/doctypes", "/tutorial/doctypes");
doTestMoveAll(docManager, "/tutorial/doctypes", "/doctypes");
doTestCopyAll(docManager, "/doctypes", "/tutorial/doctypes");
+
+ String areaName1 = "authoring";
+ String areaName2 = "live";
+ String path1 = "/tutorial";
+ String path2 = "/doctypes";
+
+ doTestCopyToArea(docManager, areaName1, areaName2, path1, path2);
+
} finally {
if (docManager != null) {
getManager().release(docManager);
@@ -49,6 +60,61 @@
}
}
+ protected void doTestCopyToArea(DocumentManager docManager, String sourceAreaName,
+ String destAreaName, String path1, String path2) throws PublicationException,
+ SiteException {
+
+ DocumentFactory factory = getFactory();
+ Publication pub = factory.getPublication("test");
+ SiteStructure sourceArea = pub.getArea(sourceAreaName).getSite();
+ SiteStructure destArea = pub.getArea(destAreaName).getSite();
+
+ if (destArea.contains(path1)) {
+ destArea.getNode(path1).delete();
+ }
+ if (destArea.contains(path2)) {
+ destArea.getNode(path2).delete();
+ }
+
+ assertFalse(destArea.contains(path1));
+ assertFalse(destArea.contains(path2));
+
+ // copy second node first to test correct ordering
+ doTestCopyToArea(docManager, path2, sourceAreaName, destAreaName);
+ doTestCopyToArea(docManager, path1, sourceAreaName, destAreaName);
+
+ List sourceNodes = Arrays.asList(sourceArea.getNodes());
+
+ SiteNode authoringNode1 = sourceArea.getNode(path1);
+ assertTrue(sourceNodes.contains(authoringNode1));
+ int sourcePos1 = sourceNodes.indexOf(authoringNode1);
+
+ SiteNode sourceNode2 = sourceArea.getNode(path2);
+ int sourcePos2 = sourceNodes.indexOf(sourceNode2);
+
+ assertTrue(sourcePos1 < sourcePos2);
+
+ assertTrue(destArea.contains(path1));
+ List liveNodes = Arrays.asList(destArea.getNodes());
+ SiteNode liveNode1 = destArea.getNode(path1);
+ assertTrue(liveNodes.contains(liveNode1));
+ int livePos1 = liveNodes.indexOf(liveNode1);
+
+ SiteNode liveNode2 = destArea.getNode(path2);
+ int livePos2 = liveNodes.indexOf(liveNode2);
+
+ assertTrue(livePos1 < livePos2);
+ }
+
+ protected void doTestCopyToArea(DocumentManager docManager, String path, String areaName1,
+ String areaName2) throws PublicationException {
+ DocumentFactory factory = getFactory();
+ Publication pub = factory.getPublication("test");
+ Area area1 = pub.getArea(areaName1);
+ Document doc = area1.getSite().getNode(path).getLink("en").getDocument();
+ docManager.copyToArea(doc, areaName2);
+ }
+
protected void doTestCopyAll(DocumentManager docManager, String sourcePath, String targetPath)
throws SiteException, DocumentException, PublicationException {
DocumentFactory factory = getFactory();
@@ -90,7 +156,7 @@
NodeSet nodes = SiteUtil.getSubSite(getManager(), sourceNode);
Document[] docs = nodes.getDocuments();
Map doc2path = new HashMap();
-
+
String sourceBase = sourcePath.substring(0, sourcePath.lastIndexOf("/"));
String targetBase = targetPath.substring(0, targetPath.lastIndexOf("/"));
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@lenya.apache.org
For additional commands, e-mail: commits-help@lenya.apache.org