You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@roller.apache.org by el...@apache.org on 2006/10/11 20:00:28 UTC

svn commit: r462887 - /incubator/roller/trunk/tests/org/apache/roller/business/WeblogEntryTest.java

Author: eliast
Date: Wed Oct 11 11:00:27 2006
New Revision: 462887

URL: http://svn.apache.org/viewvc?view=rev&rev=462887
Log:
Added tests for tag aggregates

Modified:
    incubator/roller/trunk/tests/org/apache/roller/business/WeblogEntryTest.java

Modified: incubator/roller/trunk/tests/org/apache/roller/business/WeblogEntryTest.java
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/tests/org/apache/roller/business/WeblogEntryTest.java?view=diff&rev=462887&r1=462886&r2=462887
==============================================================================
--- incubator/roller/trunk/tests/org/apache/roller/business/WeblogEntryTest.java (original)
+++ incubator/roller/trunk/tests/org/apache/roller/business/WeblogEntryTest.java Wed Oct 11 11:00:27 2006
@@ -26,6 +26,7 @@
 import java.sql.Timestamp;
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Iterator;
 import java.util.List;
@@ -38,6 +39,7 @@
 import org.apache.roller.TestUtils;
 import org.apache.roller.model.RollerFactory;
 import org.apache.roller.model.WeblogManager;
+import org.apache.roller.pojos.TagStat;
 import org.apache.roller.pojos.UserData;
 import org.apache.roller.pojos.WeblogEntryData;
 import org.apache.roller.pojos.WeblogEntryTagData;
@@ -683,6 +685,227 @@
         TestUtils.teardownWeblogEntry(id);
         TestUtils.endSession(true);
     }    
+    
+    public void testTagAggregates() throws Exception {
+        
+        WebsiteData testWeblog2 = TestUtils.setupWeblog("entryTestWeblog2", testUser);
+        
+        WeblogManager mgr = RollerFactory.getRoller().getWeblogManager();
+        
+        // let's make sure we are starting from scratch
+        
+        // site-wide
+        List tags = mgr.getTags(null, null, null, -1);
+        assertEquals(0, tags.size());
+
+        // first weblog
+        tags = mgr.getTags(testWeblog, null, null, -1);
+        assertEquals(0, tags.size());
+
+        // second weblog
+        tags = mgr.getTags(testWeblog2, null, null, -1);
+        assertEquals(0, tags.size());
+        
+        // setup some test entries to use
+        WeblogEntryData entry = TestUtils.setupWeblogEntry("entry1", testWeblog
+                .getDefaultCategory(), testWeblog, testUser);
+        entry.addTag("one");
+        entry.addTag("two");
+        mgr.saveWeblogEntry(entry);
+        
+        entry = TestUtils.setupWeblogEntry("entry2", testWeblog
+                .getDefaultCategory(), testWeblog, testUser);
+        entry.addTag("one");
+        entry.addTag("two");
+        entry.addTag("three");
+        mgr.saveWeblogEntry(entry);
+        
+        TestUtils.endSession(true);
+        
+        tags = mgr.getTags(testWeblog, null, null, -1);
+        assertEquals(3, tags.size());        
+        
+        HashMap expectedWeblogTags = new HashMap();
+        expectedWeblogTags.put("one",new Integer(2));
+        expectedWeblogTags.put("two",new Integer(2));
+        expectedWeblogTags.put("three",new Integer(1));
+        
+        for(Iterator it = tags.iterator(); it.hasNext(); ) 
+        {
+            TagStat stat = (TagStat) it.next();
+            if(!expectedWeblogTags.containsKey(stat.getName()))
+                fail("Unexpected tagName.");
+            
+            Integer expectedCount = (Integer) expectedWeblogTags.get(stat.getName());
+            assertEquals(expectedCount.intValue(), stat.getCount());
+        }
+        
+        // now add another entry in another blog
+        entry = TestUtils.setupWeblogEntry("entry3", testWeblog2
+                .getDefaultCategory(), testWeblog2, testUser);
+        entry.addTag("one");
+        entry.addTag("three");
+        entry.addTag("four");
+        mgr.saveWeblogEntry(entry);
+        
+        
+        // let's fetch "site" tags now
+        tags = mgr.getTags(null, null, null, -1);
+        assertEquals(4, tags.size());        
+        
+        HashMap expectedSiteTags = new HashMap();
+        expectedSiteTags.put("one",new Integer(3));
+        expectedSiteTags.put("two",new Integer(2));
+        expectedSiteTags.put("three",new Integer(2));
+        expectedSiteTags.put("four",new Integer(1));
+        
+        for(Iterator it = tags.iterator(); it.hasNext(); ) 
+        {
+            TagStat stat = (TagStat) it.next();
+            if(!expectedSiteTags.containsKey(stat.getName()))
+                fail("Unexpected tagName.");
+            
+            Integer expectedCount = (Integer) expectedSiteTags.get(stat.getName());
+            assertEquals(expectedCount.intValue(), stat.getCount());
+        }
+       
+        TestUtils.endSession(true);
+        
+        entry = mgr.getWeblogEntryByAnchor(testWeblog, "entry2");
+        List updateTags = new ArrayList();
+        updateTags.add("one");
+        updateTags.add("three");
+        updateTags.add("five");
+        entry.updateTags(updateTags);
+        mgr.saveWeblogEntry(entry);
+        
+        TestUtils.endSession(true);
+        
+        tags = mgr.getTags(testWeblog, null, null, -1);
+        assertEquals(4, tags.size());        
+        
+        expectedWeblogTags = new HashMap();
+        expectedWeblogTags.put("one",new Integer(2));
+        expectedWeblogTags.put("two",new Integer(1));
+        expectedWeblogTags.put("three",new Integer(1));
+        expectedWeblogTags.put("five",new Integer(1));
+        
+        for(Iterator it = tags.iterator(); it.hasNext(); ) 
+        {
+            TagStat stat = (TagStat) it.next();
+            if(!expectedWeblogTags.containsKey(stat.getName()))
+                fail("Unexpected tagName.");
+            
+            Integer expectedCount = (Integer) expectedWeblogTags.get(stat.getName());
+            assertEquals(stat.getName(), expectedCount.intValue(), stat.getCount());
+        }
+        
+        tags = mgr.getTags(null, null, null, -1);
+        assertEquals(5, tags.size());        
+        
+        expectedSiteTags = new HashMap();
+        expectedSiteTags.put("one",new Integer(3));
+        expectedSiteTags.put("two",new Integer(1));
+        expectedSiteTags.put("three",new Integer(2));
+        expectedSiteTags.put("four",new Integer(1));
+        expectedSiteTags.put("five",new Integer(1));
+        
+        for(Iterator it = tags.iterator(); it.hasNext(); ) 
+        {
+            TagStat stat = (TagStat) it.next();
+            if(!expectedSiteTags.containsKey(stat.getName()))
+                fail("Unexpected tagName.");
+            
+            Integer expectedCount = (Integer) expectedSiteTags.get(stat.getName());
+            assertEquals(stat.getName(), expectedCount.intValue(), stat.getCount());
+        }        
+                
+        // teardown our test blog 2
+        TestUtils.teardownWeblog(testWeblog2.getId());
+        TestUtils.endSession(true);
+    }
+    
+    public void testTagAggregatesCaseSensitivity() throws Exception {
+        
+        WebsiteData testWeblog2 = TestUtils.setupWeblog("entryTestWeblog2", testUser);
+        
+        WeblogManager mgr = RollerFactory.getRoller().getWeblogManager();
+        
+        // let's make sure we are starting from scratch
+        
+        // site-wide
+        List tags = mgr.getTags(null, null, null, -1);
+        assertEquals(0, tags.size());
+
+        // first weblog
+        tags = mgr.getTags(testWeblog, null, null, -1);
+        assertEquals(0, tags.size());
+
+        // second weblog
+        tags = mgr.getTags(testWeblog2, null, null, -1);
+        assertEquals(0, tags.size());
+        
+        // setup some test entries to use
+        WeblogEntryData entry = TestUtils.setupWeblogEntry("entry1", testWeblog
+                .getDefaultCategory(), testWeblog, testUser);
+        entry.addTag("one");
+        entry.addTag("two");
+        entry.addTag("ONE");
+        mgr.saveWeblogEntry(entry);
+                
+        TestUtils.endSession(true);
+        
+        tags = mgr.getTags(testWeblog, null, null, -1);
+        assertEquals(3, tags.size());        
+        
+        HashMap expectedWeblogTags = new HashMap();
+        expectedWeblogTags.put("one",new Integer(1));
+        expectedWeblogTags.put("two",new Integer(1));
+        expectedWeblogTags.put("ONE",new Integer(1));
+        
+        for(Iterator it = tags.iterator(); it.hasNext(); ) 
+        {
+            TagStat stat = (TagStat) it.next();
+            if(!expectedWeblogTags.containsKey(stat.getName()))
+                fail("Unexpected tagName.");
+            
+            Integer expectedCount = (Integer) expectedWeblogTags.get(stat.getName());
+            assertEquals(expectedCount.intValue(), stat.getCount());
+        }
+        
+        // now add another entry in another blog
+        entry = TestUtils.setupWeblogEntry("entry3", testWeblog2
+                .getDefaultCategory(), testWeblog2, testUser);
+        entry.addTag("ONE");
+        entry.addTag("three");
+        mgr.saveWeblogEntry(entry);
+        
+        // let's fetch "site" tags now
+        tags = mgr.getTags(null, null, null, -1);
+        assertEquals(4, tags.size());        
+        
+        HashMap expectedSiteTags = new HashMap();
+        expectedSiteTags.put("one",new Integer(1));
+        expectedSiteTags.put("two",new Integer(1));
+        expectedSiteTags.put("three",new Integer(1));
+        expectedSiteTags.put("ONE",new Integer(2));
+        
+        for(Iterator it = tags.iterator(); it.hasNext(); ) 
+        {
+            TagStat stat = (TagStat) it.next();
+            if(!expectedSiteTags.containsKey(stat.getName()))
+                fail("Unexpected tagName.");
+            
+            Integer expectedCount = (Integer) expectedSiteTags.get(stat.getName());
+            assertEquals(expectedCount.intValue(), stat.getCount());
+        }
+       
+        TestUtils.endSession(true);
+                        
+        // teardown our test blog 2
+        TestUtils.teardownWeblog(testWeblog2.getId());
+        TestUtils.endSession(true);
+    }