Author: agilliland
Date: Fri Apr 14 13:23:18 2006
New Revision: 394190

URL: http://svn.apache.org/viewcvs?rev=394190&view=rev
Log:
more cleanup to unit tests.
adding tests for weblog categories.


Modified:
    incubator/roller/branches/roller-newbackend/tests/org/roller/TestUtils.java
    
incubator/roller/branches/roller-newbackend/tests/org/roller/business/CommentTest.java
    
incubator/roller/branches/roller-newbackend/tests/org/roller/business/PermissionTest.java
    
incubator/roller/branches/roller-newbackend/tests/org/roller/business/PingsTest.java
    
incubator/roller/branches/roller-newbackend/tests/org/roller/business/WeblogCategoryTest.java
    
incubator/roller/branches/roller-newbackend/tests/org/roller/business/WeblogEntryTest.java
    
incubator/roller/branches/roller-newbackend/tests/org/roller/business/WeblogPageTest.java
    
incubator/roller/branches/roller-newbackend/tests/org/roller/business/WeblogTest.java

Modified: 
incubator/roller/branches/roller-newbackend/tests/org/roller/TestUtils.java
URL: 
http://svn.apache.org/viewcvs/incubator/roller/branches/roller-newbackend/tests/org/roller/TestUtils.java?rev=394190&r1=394189&r2=394190&view=diff
==============================================================================
--- incubator/roller/branches/roller-newbackend/tests/org/roller/TestUtils.java 
(original)
+++ incubator/roller/branches/roller-newbackend/tests/org/roller/TestUtils.java 
Fri Apr 14 13:23:18 2006
@@ -15,6 +15,7 @@
 import org.roller.pojos.CommentData;
 import org.roller.pojos.PingTargetData;
 import org.roller.pojos.UserData;
+import org.roller.pojos.WeblogCategoryData;
 import org.roller.pojos.WeblogEntryData;
 import org.roller.pojos.WebsiteData;
 
@@ -119,6 +120,7 @@
      * Convenience method for creating a weblog entry.
      */
     public static WeblogEntryData setupWeblogEntry(String anchor,
+                                                   WeblogCategoryData cat,
                                                    WebsiteData weblog,
                                                    UserData user)
             throws Exception {
@@ -133,7 +135,7 @@
         testEntry.setStatus(WeblogEntryData.PUBLISHED);
         testEntry.setWebsite(weblog);
         testEntry.setCreator(user);
-        testEntry.setCategory(weblog.getDefaultCategory());
+        testEntry.setCategory(cat);
         
         // store entry
         WeblogManager mgr = RollerFactory.getRoller().getWeblogManager();

Modified: 
incubator/roller/branches/roller-newbackend/tests/org/roller/business/CommentTest.java
URL: 
http://svn.apache.org/viewcvs/incubator/roller/branches/roller-newbackend/tests/org/roller/business/CommentTest.java?rev=394190&r1=394189&r2=394190&view=diff
==============================================================================
--- 
incubator/roller/branches/roller-newbackend/tests/org/roller/business/CommentTest.java
 (original)
+++ 
incubator/roller/branches/roller-newbackend/tests/org/roller/business/CommentTest.java
 Fri Apr 14 13:23:18 2006
@@ -51,11 +51,12 @@
     public void setUp() throws Exception {
         
         try {
-            testUser = TestUtils.setupUser("entryTestUser");
-            testWeblog = TestUtils.setupWeblog("entryTestWeblog", testUser);
-            testEntry = TestUtils.setupWeblogEntry("testEntry", testWeblog, 
testUser);
+            testUser = TestUtils.setupUser("commentTestUser");
+            testWeblog = TestUtils.setupWeblog("commentTestWeblog", testUser);
+            testEntry = TestUtils.setupWeblogEntry("commentTestEntry", 
testWeblog.getDefaultCategory(), testWeblog, testUser);
         } catch (Exception ex) {
             log.error(ex);
+            throw new Exception("Test setup failed", ex);
         }
     }
     
@@ -67,6 +68,7 @@
             TestUtils.teardownUser(testUser.getId());
         } catch (Exception ex) {
             log.error(ex);
+            throw new Exception("Test teardown failed", ex);
         }
     }
     

Modified: 
incubator/roller/branches/roller-newbackend/tests/org/roller/business/PermissionTest.java
URL: 
http://svn.apache.org/viewcvs/incubator/roller/branches/roller-newbackend/tests/org/roller/business/PermissionTest.java?rev=394190&r1=394189&r2=394190&view=diff
==============================================================================
--- 
incubator/roller/branches/roller-newbackend/tests/org/roller/business/PermissionTest.java
 (original)
+++ 
incubator/roller/branches/roller-newbackend/tests/org/roller/business/PermissionTest.java
 Fri Apr 14 13:23:18 2006
@@ -46,6 +46,7 @@
             testWeblog = TestUtils.setupWeblog("permsTestWeblog", testUser);
         } catch (Exception ex) {
             log.error(ex);
+            throw new Exception("Test setup failed", ex);
         }
     }
     
@@ -55,6 +56,7 @@
             TestUtils.teardownUser(testUser.getId());
         } catch (Exception ex) {
             log.error(ex);
+            throw new Exception("Test teardown failed", ex);
         }
     }
     

Modified: 
incubator/roller/branches/roller-newbackend/tests/org/roller/business/PingsTest.java
URL: 
http://svn.apache.org/viewcvs/incubator/roller/branches/roller-newbackend/tests/org/roller/business/PingsTest.java?rev=394190&r1=394189&r2=394190&view=diff
==============================================================================
--- 
incubator/roller/branches/roller-newbackend/tests/org/roller/business/PingsTest.java
 (original)
+++ 
incubator/roller/branches/roller-newbackend/tests/org/roller/business/PingsTest.java
 Fri Apr 14 13:23:18 2006
@@ -25,18 +25,6 @@
 
 /**
  * Test Pings related business operations.
- *
- * That includes:
- *   - create a common ping target
- *   - create a custom ping target
- *   - update a ping target
- *   - remove a ping target
- *   - remove all custom ping targets for website
- *   - remove all custom ping targets
- *   - get a ping target by id
- *   - get all common ping targets
- *   - get all custom ping targets for website
- *
  */
 public class PingsTest extends TestCase {
     
@@ -68,6 +56,7 @@
             testWeblog = TestUtils.setupWeblog("wtTestWeblog", testUser);
         } catch (Exception ex) {
             log.error(ex);
+            throw new Exception("Test setup failed", ex);
         }
         
         testCommonPing = new PingTargetData();
@@ -86,6 +75,7 @@
             TestUtils.teardownUser(testUser.getId());
         } catch (Exception ex) {
             log.error(ex);
+            throw new Exception("Test teardown failed", ex);
         }
         
         testCommonPing = null;

Modified: 
incubator/roller/branches/roller-newbackend/tests/org/roller/business/WeblogCategoryTest.java
URL: 
http://svn.apache.org/viewcvs/incubator/roller/branches/roller-newbackend/tests/org/roller/business/WeblogCategoryTest.java?rev=394190&r1=394189&r2=394190&view=diff
==============================================================================
--- 
incubator/roller/branches/roller-newbackend/tests/org/roller/business/WeblogCategoryTest.java
 (original)
+++ 
incubator/roller/branches/roller-newbackend/tests/org/roller/business/WeblogCategoryTest.java
 Fri Apr 14 13:23:18 2006
@@ -6,14 +6,21 @@
 
 package org.roller.business;
 
+import java.util.List;
 import junit.framework.Test;
 import junit.framework.TestCase;
 import junit.framework.TestSuite;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.roller.TestUtils;
+import org.roller.model.RollerFactory;
+import org.roller.model.WeblogManager;
 import org.roller.pojos.UserData;
+import org.roller.pojos.WeblogCategoryData;
+import org.roller.pojos.WeblogEntryData;
 import org.roller.pojos.WebsiteData;
+import org.roller.util.Utilities;
+
 
 /**
  * Test Weblog Category related business operations.
@@ -40,21 +47,27 @@
      */
     public void setUp() throws Exception {
         
+        log.info("Setup "+this.getClass().getName());
+        
         try {
             testUser = TestUtils.setupUser("entryTestUser");
             testWeblog = TestUtils.setupWeblog("entryTestWeblog", testUser);
         } catch (Exception ex) {
             log.error(ex);
+            throw new Exception("Test setup failed", ex);
         }
     }
     
     public void tearDown() throws Exception {
         
+        log.info("Teardown "+this.getClass().getName());
+        
         try {
             TestUtils.teardownWeblog(testWeblog.getId());
             TestUtils.teardownUser(testUser.getId());
         } catch (Exception ex) {
             log.error(ex);
+            throw new Exception("Test teardown failed", ex);
         }
     }
     
@@ -64,6 +77,191 @@
      */
     public void testWeblogCategoryCRUD() throws Exception {
         
+        WeblogManager mgr = RollerFactory.getRoller().getWeblogManager();
+        WeblogCategoryData cat = null;
+        List cats = null;
+        
+        // we need to know how many categories we start the test with
+        int numCats = 
mgr.getRootWeblogCategory(testWeblog).getWeblogCategories().size();
+        
+        // add a new category
+        WeblogCategoryData newCat = new WeblogCategoryData();
+        newCat.setName("catTestCategory");
+        newCat.setParent(testWeblog.getDefaultCategory());
+        newCat.setWebsite(testWeblog);
+        mgr.storeWeblogCategory(newCat);
+        String id = newCat.getId();
+        
+        // make sure category was added
+        cat = null;
+        cat = mgr.retrieveWeblogCategory(id);
+        assertNotNull(cat);
+        assertEquals(newCat, cat);
+        
+        // make sure category count increased
+        testWeblog = 
RollerFactory.getRoller().getUserManager().retrieveWebsite(testWeblog.getId());
+        assertEquals(numCats+1, 
mgr.getRootWeblogCategory(testWeblog).getWeblogCategories().size());
+        
+        // update category
+        cat.setName("testtest");
+        mgr.storeWeblogCategory(cat);
+        
+        // verify category was updated
+        cat = null;
+        cat = mgr.retrieveWeblogCategory(id);
+        assertNotNull(cat);
+        assertEquals("testtest", cat.getName());
+        
+        // remove category
+        mgr.removeWeblogCategory(cat);
+        
+        // make sure category was removed
+        cat = null;
+        mgr.retrieveWeblogCategory(id);
+        assertNull(cat);
+        
+        // make sure category count decreased
+        testWeblog = 
RollerFactory.getRoller().getUserManager().retrieveWebsite(testWeblog.getId());
+        assertEquals(numCats, 
mgr.getRootWeblogCategory(testWeblog).getWeblogCategories().size());
+    }
+    
+    
+    /**
+     * Test lookup mechanisms ... 
+     */
+    public void testWeblogCategoryLookups() throws Exception {
+        
     }
     
+    
+    public void testWeblogCategoryPaths() throws Exception {
+        
+        WeblogCategoryData root = null;
+        WeblogManager mgr = RollerFactory.getRoller().getWeblogManager();
+        
+        root = mgr.getRootWeblogCategory(testWeblog);
+        
+        WeblogCategoryData f1 = mgr.createWeblogCategory();
+        f1.setName("f1");
+        f1.setParent(root);
+        f1.setWebsite(testWeblog);
+        mgr.storeWeblogCategory(f1);
+        
+        WeblogCategoryData f2 = mgr.createWeblogCategory();
+        f2.setName("f2");
+        f2.setParent(f1);
+        f2.setWebsite(testWeblog);
+        mgr.storeWeblogCategory(f2);
+        
+        WeblogCategoryData f3 = mgr.createWeblogCategory();
+        f3.setName("f3");
+        f3.setParent(f2);
+        f3.setWebsite(testWeblog);
+        mgr.storeWeblogCategory(f3);
+        
+        // check count of descendents and ancestors
+        f1 = mgr.retrieveWeblogCategory(f1.getId());
+        assertEquals(2, f1.getAllDescendentAssocs().size());
+        assertEquals(1, f1.getAncestorAssocs().size());
+        
+        f2 = mgr.retrieveWeblogCategory(f2.getId());
+        assertEquals(1, f2.getAllDescendentAssocs().size());
+        assertEquals(2, f2.getAncestorAssocs().size());
+        
+        f3 = mgr.retrieveWeblogCategory(f3.getId());
+        assertEquals(0, f3.getAllDescendentAssocs().size());
+        assertEquals(3, f3.getAncestorAssocs().size());
+        
+        // test get by path
+        assertEquals("f1",
+                mgr.getWeblogCategoryByPath(testWeblog, null, "f1").getName());
+        
+        assertEquals("f1",
+                mgr.getWeblogCategoryByPath(testWeblog, null, 
"/f1").getName());
+        
+        assertEquals("f2",
+                mgr.getWeblogCategoryByPath(testWeblog, null, 
"/f1/f2").getName());
+        
+        assertEquals("f3",
+                mgr.getWeblogCategoryByPath(testWeblog, null, 
"/f1/f2/f3").getName());
+        
+        // test path creation
+        f3 = mgr.getWeblogCategoryByPath(testWeblog, null, "/f1/f2/f3");
+        String pathString = mgr.getPath(f3);
+        String[] pathArray = Utilities.stringToStringArray(pathString,"/");
+        assertEquals("f1", pathArray[0]);
+        assertEquals("f2", pathArray[1]);
+        assertEquals("f3", pathArray[2]);
+    }
+    
+    
+    public void testMoveWeblogCategory() throws Exception {
+        
+        WeblogManager mgr = RollerFactory.getRoller().getWeblogManager();
+        
+        // add some categories and entries to test with
+        WeblogCategoryData dest = mgr.createWeblogCategory();
+        dest.setName("c0");
+        dest.setParent(mgr.getRootWeblogCategory(testWeblog));
+        dest.setWebsite(testWeblog);
+        mgr.storeWeblogCategory(dest);
+        
+        WeblogCategoryData c1 = mgr.createWeblogCategory();
+        c1.setName("c1");
+        c1.setParent(mgr.getRootWeblogCategory(testWeblog));
+        c1.setWebsite(testWeblog);
+        mgr.storeWeblogCategory(c1);
+        
+        WeblogCategoryData c2 = mgr.createWeblogCategory();
+        c2.setName("c2");
+        c2.setParent(c1);
+        c2.setWebsite(testWeblog);
+        mgr.storeWeblogCategory(c2);
+        
+        WeblogCategoryData c3 = mgr.createWeblogCategory();
+        c3.setName("c3");
+        c3.setParent(c2);
+        c3.setWebsite(testWeblog);
+        mgr.storeWeblogCategory(c3);
+        
+        c1 = mgr.retrieveWeblogCategory(c1.getId());
+        c2 = mgr.retrieveWeblogCategory(c2.getId());
+        c3 = mgr.retrieveWeblogCategory(c3.getId());
+        dest = mgr.retrieveWeblogCategory(dest.getId());
+        
+        WeblogEntryData e1 = TestUtils.setupWeblogEntry("e1", c1, testWeblog, 
testUser);
+        WeblogEntryData e2 = TestUtils.setupWeblogEntry("e2", c2, testWeblog, 
testUser);
+        WeblogEntryData e3 = TestUtils.setupWeblogEntry("e3", c3, testWeblog, 
testUser);
+        
+        // verify number of entries in each category
+        assertEquals(0, dest.retrieveWeblogEntries(true).size());
+        assertEquals(0, dest.retrieveWeblogEntries(false).size());
+        assertEquals(1, c1.retrieveWeblogEntries(false).size());
+        assertEquals(3, c1.retrieveWeblogEntries(true).size());
+        
+        // move contents of source category c1 to destination catetory dest
+        c1.setParent(dest);
+        mgr.storeWeblogCategory(c1);
+        
+        // after move, verify number of entries in each category
+        dest = mgr.retrieveWeblogCategory(dest.getId());
+        c1 = mgr.retrieveWeblogCategory(c1.getId());
+        c2 = mgr.retrieveWeblogCategory(c2.getId());
+        c3 = mgr.retrieveWeblogCategory(c3.getId());
+        
+        assertEquals(3, dest.retrieveWeblogEntries(true).size());
+        assertEquals(0, dest.retrieveWeblogEntries(false).size());
+        
+        assertEquals(dest, c1.getParent());
+        assertEquals(c1,   c2.getParent());
+        assertEquals(c2,   c3.getParent());
+        
+        assertEquals(1, c1.retrieveWeblogEntries(false).size());
+        assertEquals(1, c2.retrieveWeblogEntries(false).size());
+        assertEquals(1, c3.retrieveWeblogEntries(false).size());
+        
+        List entries = c1.retrieveWeblogEntries(true);
+        assertEquals(3, entries.size());
+    }
+
 }

Modified: 
incubator/roller/branches/roller-newbackend/tests/org/roller/business/WeblogEntryTest.java
URL: 
http://svn.apache.org/viewcvs/incubator/roller/branches/roller-newbackend/tests/org/roller/business/WeblogEntryTest.java?rev=394190&r1=394189&r2=394190&view=diff
==============================================================================
--- 
incubator/roller/branches/roller-newbackend/tests/org/roller/business/WeblogEntryTest.java
 (original)
+++ 
incubator/roller/branches/roller-newbackend/tests/org/roller/business/WeblogEntryTest.java
 Fri Apr 14 13:23:18 2006
@@ -52,6 +52,7 @@
             testWeblog = TestUtils.setupWeblog("entryTestWeblog", testUser);
         } catch (Exception ex) {
             log.error(ex);
+            throw new Exception("Test setup failed", ex);
         }
     }
     
@@ -62,6 +63,7 @@
             TestUtils.teardownUser(testUser.getId());
         } catch (Exception ex) {
             log.error(ex);
+            throw new Exception("Test teardown failed", ex);
         }
     }
     
@@ -75,7 +77,7 @@
         WeblogEntryData entry = null;
         
         WeblogEntryData testEntry = new WeblogEntryData();
-        testEntry.setTitle("testEntry");
+        testEntry.setTitle("entryTestEntry");
         testEntry.setLink("testEntryLink");
         testEntry.setText("blah blah entry");
         testEntry.setAnchor("testEntryAnchor");
@@ -125,9 +127,9 @@
         Map entryMap = null;
         
         // setup some test entries to use
-        WeblogEntryData entry1 = TestUtils.setupWeblogEntry("entry1", 
testWeblog, testUser);
-        WeblogEntryData entry2 = TestUtils.setupWeblogEntry("entry2", 
testWeblog, testUser);
-        WeblogEntryData entry3 = TestUtils.setupWeblogEntry("entry3", 
testWeblog, testUser);
+        WeblogEntryData entry1 = TestUtils.setupWeblogEntry("entry1", 
testWeblog.getDefaultCategory(), testWeblog, testUser);
+        WeblogEntryData entry2 = TestUtils.setupWeblogEntry("entry2", 
testWeblog.getDefaultCategory(), testWeblog, testUser);
+        WeblogEntryData entry3 = TestUtils.setupWeblogEntry("entry3", 
testWeblog.getDefaultCategory(), testWeblog, testUser);
         
         // make a couple changes
         entry2.setPinnedToMain(Boolean.TRUE);
@@ -262,7 +264,7 @@
         List entries = null;
         
         // setup some test entries to use
-        WeblogEntryData entry1 = TestUtils.setupWeblogEntry("entry1", 
testWeblog, testUser);
+        WeblogEntryData entry1 = TestUtils.setupWeblogEntry("entry1", 
testWeblog.getDefaultCategory(), testWeblog, testUser);
         
         // make sure createAnchor gives us a new anchor value
         String anchor = mgr.createAnchor(entry1);
@@ -270,7 +272,7 @@
         assertNotSame("entry1", anchor);
         
         // make sure we can create a new entry with specified anchor
-        WeblogEntryData entry2 = TestUtils.setupWeblogEntry(anchor, 
testWeblog, testUser);
+        WeblogEntryData entry2 = TestUtils.setupWeblogEntry(anchor, 
testWeblog.getDefaultCategory(), testWeblog, testUser);
         assertNotNull(entry2);
         
         // teardown our test entries

Modified: 
incubator/roller/branches/roller-newbackend/tests/org/roller/business/WeblogPageTest.java
URL: 
http://svn.apache.org/viewcvs/incubator/roller/branches/roller-newbackend/tests/org/roller/business/WeblogPageTest.java?rev=394190&r1=394189&r2=394190&view=diff
==============================================================================
--- 
incubator/roller/branches/roller-newbackend/tests/org/roller/business/WeblogPageTest.java
 (original)
+++ 
incubator/roller/branches/roller-newbackend/tests/org/roller/business/WeblogPageTest.java
 Fri Apr 14 13:23:18 2006
@@ -52,6 +52,7 @@
             testWeblog = TestUtils.setupWeblog("wtTestWeblog", testUser);
         } catch (Exception ex) {
             log.error(ex);
+            throw new Exception("Test setup failed", ex);
         }
         
         testPage = new WeblogTemplate();
@@ -70,6 +71,7 @@
             TestUtils.teardownUser(testUser.getId());
         } catch (Exception ex) {
             log.error(ex);
+            throw new Exception("Test teardown failed", ex);
         }
         
         testPage = null;

Modified: 
incubator/roller/branches/roller-newbackend/tests/org/roller/business/WeblogTest.java
URL: 
http://svn.apache.org/viewcvs/incubator/roller/branches/roller-newbackend/tests/org/roller/business/WeblogTest.java?rev=394190&r1=394189&r2=394190&view=diff
==============================================================================
--- 
incubator/roller/branches/roller-newbackend/tests/org/roller/business/WeblogTest.java
 (original)
+++ 
incubator/roller/branches/roller-newbackend/tests/org/roller/business/WeblogTest.java
 Fri Apr 14 13:23:18 2006
@@ -44,6 +44,7 @@
             testUser = TestUtils.setupUser("weblogTestUser");
         } catch (Exception ex) {
             log.error(ex);
+            throw new Exception("Test setup failed", ex);
         }
     }
     
@@ -53,6 +54,7 @@
             TestUtils.teardownUser(testUser.getId());
         } catch (Exception ex) {
             log.error(ex);
+            throw new Exception("Test teardown failed", ex);
         }
     }
     


Reply via email to