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