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