You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@roller.apache.org by ag...@apache.org on 2006/04/10 23:35:48 UTC

svn commit: r393073 - in /incubator/roller/branches/roller-newbackend/tests/org/roller: TestUtils.java business/WeblogEntryTest.java

Author: agilliland
Date: Mon Apr 10 14:35:47 2006
New Revision: 393073

URL: http://svn.apache.org/viewcvs?rev=393073&view=rev
Log:
Weblog Entry unit tests now completed.


Modified:
    incubator/roller/branches/roller-newbackend/tests/org/roller/TestUtils.java
    incubator/roller/branches/roller-newbackend/tests/org/roller/business/WeblogEntryTest.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=393073&r1=393072&r2=393073&view=diff
==============================================================================
--- incubator/roller/branches/roller-newbackend/tests/org/roller/TestUtils.java (original)
+++ incubator/roller/branches/roller-newbackend/tests/org/roller/TestUtils.java Mon Apr 10 14:35:47 2006
@@ -8,9 +8,12 @@
 
 import org.roller.model.RollerFactory;
 import org.roller.model.UserManager;
+import org.roller.model.WeblogManager;
 import org.roller.pojos.UserData;
+import org.roller.pojos.WeblogEntryData;
 import org.roller.pojos.WebsiteData;
 
+
 /**
  * Utility class for unit test classes.
  */
@@ -98,12 +101,60 @@
      */
     public static void teardownWeblog(String handle) throws Exception {
         
-        // lookup the user
+        // lookup the weblog
         UserManager mgr = RollerFactory.getRoller().getUserManager();
         WebsiteData weblog = mgr.getWebsiteByHandle(handle);
         
         // remove the weblog
         mgr.removeWebsite(weblog);
+    }
+ 
+    
+    /**
+     * Convenience method for creating a weblog entry.
+     */
+    public static WeblogEntryData setupWeblogEntry(String anchor,
+                                                   WebsiteData weblog,
+                                                   UserData user)
+            throws Exception {
+        
+        WeblogEntryData testEntry = new WeblogEntryData();
+        testEntry.setTitle(anchor);
+        testEntry.setLink("testEntryLink");
+        testEntry.setText("blah blah entry");
+        testEntry.setAnchor(anchor);
+        testEntry.setPubTime(new java.sql.Timestamp(new java.util.Date().getTime()));
+        testEntry.setUpdateTime(new java.sql.Timestamp(new java.util.Date().getTime()));
+        testEntry.setStatus(WeblogEntryData.PUBLISHED);
+        testEntry.setWebsite(weblog);
+        testEntry.setCreator(user);
+        testEntry.setCategory(weblog.getDefaultCategory());
+        
+        // store entry
+        WeblogManager mgr = RollerFactory.getRoller().getWeblogManager();
+        mgr.storeWeblogEntry(testEntry);
+        
+        // query for object
+        WeblogEntryData entry = mgr.retrieveWeblogEntry(testEntry.getId());
+        
+        if(entry == null)
+            throw new RollerException("error setting up weblog entry");
+        
+        return entry;
+    }
+    
+    
+    /**
+     * Convenience method for removing a weblog entry.
+     */
+    public static void teardownWeblogEntry(String id) throws Exception {
+        
+        // lookup the entry
+        WeblogManager mgr = RollerFactory.getRoller().getWeblogManager();
+        WeblogEntryData entry = mgr.retrieveWeblogEntry(id);
+        
+        // remove the entry
+        mgr.removeWeblogEntry(entry);
     }
     
 }

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=393073&r1=393072&r2=393073&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 Mon Apr 10 14:35:47 2006
@@ -6,6 +6,8 @@
 
 package org.roller.business;
 
+import java.util.List;
+import java.util.Map;
 import junit.framework.Test;
 import junit.framework.TestCase;
 import junit.framework.TestSuite;
@@ -18,6 +20,7 @@
 import org.roller.pojos.WeblogEntryData;
 import org.roller.pojos.WebsiteData;
 
+
 /**
  * Test WeblogEntry related business operations.
  *
@@ -37,7 +40,7 @@
     
     
     public static Test suite() {
-        return new TestSuite(WeblogPageTest.class);
+        return new TestSuite(WeblogEntryTest.class);
     }
     
     
@@ -60,6 +63,9 @@
         testEntry.setAnchor("testEntryAnchor");
         testEntry.setPubTime(new java.sql.Timestamp(new java.util.Date().getTime()));
         testEntry.setUpdateTime(new java.sql.Timestamp(new java.util.Date().getTime()));
+        testEntry.setWebsite(testWeblog);
+        testEntry.setCreator(testUser);
+        testEntry.setCategory(testWeblog.getDefaultCategory());
     }
     
     public void tearDown() throws Exception {
@@ -106,6 +112,165 @@
         entry = null;
         entry = mgr.retrieveWeblogEntry(entryId);
         assertNull(entry);
+    }
+    
+    
+    public void testWeblogEntryLookups() throws Exception {
+        
+        WeblogManager mgr = RollerFactory.getRoller().getWeblogManager();
+        WeblogEntryData entry = null;
+        List entries = null;
+        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);
+        
+        // make a couple changes
+        entry2.setPinnedToMain(Boolean.TRUE);
+        entry2.setUpdateTime(new java.sql.Timestamp(entry2.getUpdateTime().getTime()+8822384));
+        entry2.setPubTime(entry2.getUpdateTime());
+        mgr.storeWeblogEntry(entry2);
+        entry3.setStatus(WeblogEntryData.DRAFT);
+        entry3.setUpdateTime(new java.sql.Timestamp(entry3.getUpdateTime().getTime()+348829384));
+        entry3.setPubTime(entry3.getUpdateTime());
+        mgr.storeWeblogEntry(entry3);
+        
+        log.debug("entry1 = "+entry1.getUpdateTime());
+        log.debug("entry2 = "+entry2.getUpdateTime());
+        log.debug("entry3 = "+entry3.getUpdateTime());
+        
+        // get entry by id
+        entry = null;
+        entry = mgr.retrieveWeblogEntry(entry1.getId());
+        assertNotNull(entry);
+        assertEquals(entry1.getAnchor(), entry.getAnchor());
+        
+        // get entry by anchor
+        entry = null;
+        entry = mgr.getWeblogEntryByAnchor(testWeblog, entry1.getAnchor());
+        assertNotNull(entry);
+        assertEquals(entry1.getTitle(), entry.getTitle());
+        
+        // get all entries for weblog
+        entries = null;
+        entries = mgr.getWeblogEntries(testWeblog, null, null, null, null, null, null);
+        assertNotNull(entries);
+        assertEquals(3, entries.size());
+        assertEquals(entry3, entries.get(0));
+        
+        // get all entries in category
+        entries = null;
+        entries = mgr.retrieveWeblogEntries(testWeblog.getDefaultCategory(), false);
+        assertNotNull(entries);
+        assertEquals(3, entries.size());
+        
+        // get all published entries only
+        entries = null;
+        entries = mgr.getWeblogEntries(testWeblog, null, null, null, WeblogEntryData.PUBLISHED, null, null);
+        assertNotNull(entries);
+        assertEquals(2, entries.size());
+        
+        // get all entries in date range
+        entries = null;
+        entries = mgr.getWeblogEntries(testWeblog, entry2.getPubTime(), entry2.getPubTime(), null, null, null, null);
+        assertNotNull(entries);
+        assertEquals(1, entries.size());
+        assertEquals(entry2, entries.get(0));
+        
+        // get all entries, limited to maxSize
+        entries = null;
+        entries = mgr.getWeblogEntries(testWeblog, null, null, null, null, null, new Integer(2));
+        assertNotNull(entries);
+        assertEquals(2, entries.size());
+        
+        // get all entries in category
+        entries = null;
+        entries = mgr.getWeblogEntries(testWeblog, null, null, testWeblog.getDefaultCategory().getName(), null, null, null);
+        assertNotNull(entries);
+        assertEquals(3, entries.size());
+        
+        // get all entries, limited by offset/range
+        entries = null;
+        entries = mgr.getWeblogEntries(testWeblog, null, null, null, null, null, 1, 2);
+        assertNotNull(entries);
+        assertEquals(2, entries.size());
+        assertEquals(entry2, entries.get(0));
+        
+        // get pinned entries only
+        entries = null;
+        entries = mgr.getWeblogEntriesPinnedToMain(new Integer(5));
+        assertNotNull(entries);
+        assertEquals(1, entries.size());
+        assertEquals(entry2, entries.get(0));
+        
+        // get next entries
+        entries = null;
+        entries = mgr.getNextEntries(entry1, null, 5);
+        assertNotNull(entries);
+        assertEquals(1, entries.size());
+        assertEquals(entry2, entries.get(0));
+        
+        // get next entry
+        entry = null;
+        entry = mgr.getNextEntry(entry1, null);
+        assertNotNull(entry);
+        assertEquals(entry2, entry);
+        
+        // get previous entries
+        entries = null;
+        entries = mgr.getPreviousEntries(entry2, null, 5);
+        assertNotNull(entries);
+        assertEquals(1, entries.size());
+        assertEquals(entry1, entries.get(0));
+        
+        // get previous entry
+        entry = null;
+        entry = mgr.getPreviousEntry(entry2, null);
+        assertNotNull(entry);
+        assertEquals(entry1, entry);
+        
+        // get object map
+        entryMap = null;
+        entryMap = mgr.getWeblogEntryObjectMap(testWeblog, null, null, null, null, null);
+        assertNotNull(entryMap);
+        assertTrue(entryMap.keySet().size() > 1);
+        
+        // get string map
+        entryMap = null;
+        entryMap = mgr.getWeblogEntryStringMap(testWeblog, null, null, null, null, null);
+        assertNotNull(entryMap);
+        assertTrue(entryMap.keySet().size() > 1);
+                
+        // teardown our test entries
+        TestUtils.teardownWeblogEntry(entry1.getId());
+        TestUtils.teardownWeblogEntry(entry2.getId());
+        TestUtils.teardownWeblogEntry(entry3.getId());
+    }
+    
+    
+    public void testCreateAnchor() throws Exception {
+        
+        WeblogManager mgr = RollerFactory.getRoller().getWeblogManager();
+        WeblogEntryData entry = null;
+        List entries = null;
+        
+        // setup some test entries to use
+        WeblogEntryData entry1 = TestUtils.setupWeblogEntry("entry1", testWeblog, testUser);
+        
+        // make sure createAnchor gives us a new anchor value
+        String anchor = mgr.createAnchor(entry1);
+        assertNotNull(anchor);
+        assertNotSame("entry1", anchor);
+        
+        // make sure we can create a new entry with specified anchor
+        WeblogEntryData entry2 = TestUtils.setupWeblogEntry(anchor, testWeblog, testUser);
+        assertNotNull(entry2);
+        
+        // teardown our test entries
+        TestUtils.teardownWeblogEntry(entry1.getId());
+        TestUtils.teardownWeblogEntry(entry2.getId());
     }
     
 }