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/09 00:43:01 UTC

svn commit: r392622 [2/3] - in /incubator/roller/branches/roller-newbackend: ./ testdata/WEB-INF/classes/ tests/org/roller/ tests/org/roller/business/ tests/org/roller/presentation/velocity/

Modified: incubator/roller/branches/roller-newbackend/tests/org/roller/business/RefererManagerTest.java
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller-newbackend/tests/org/roller/business/RefererManagerTest.java?rev=392622&r1=392621&r2=392622&view=diff
==============================================================================
--- incubator/roller/branches/roller-newbackend/tests/org/roller/business/RefererManagerTest.java (original)
+++ incubator/roller/branches/roller-newbackend/tests/org/roller/business/RefererManagerTest.java Sat Apr  8 15:42:58 2006
@@ -1 +1 @@
-package org.roller.business; 

import java.sql.Timestamp;
import java.util.Calendar;
import java.util.Date;
import java.util.List;

import junit.framework.Test;
import junit.framework.TestSuite;
 
import org.roller.RollerException;
import org.roller.model.PropertiesManager;
import org.roller.model.RefererManager;
import org.roller.model.Roller;
import org.roller.pojos.RefererData;
import org.roller.pojos.RollerPropertyData;
import org.roller.pojos.UserData;
import org.roller.pojos.WeblogEntryData;
import org.roller.pojos.WebsiteData;
import org.roller.util.DateUtil;
import org.roller.RollerTestBase;

/**
 * Test Roller Referer Management.
 */
public class RefererManagerTest extends RollerTestBase 
{
    RefererManager rmgr;
    //List refs;
    int count = 20;        
    String testDay;
    String origSpamWords;

    //------------------------------------------------------------------------
	public RefererManagerTest(String name) 
    {
		super(name);
	}
    
    //--------
 ----------------------------------------------------------------
	public static void main(String args[]) 
    {
		junit.textui.TestRunner.run(RefererManagerTest.class);
	}
    
    //------------------------------------------------------------------------
    public static Test suite() 
    {
        return new TestSuite(RefererManagerTest.class);
    }

    public void setUp() throws Exception
    {
        super.setUp();
        
        // add "spamtest" to refererSpamWords
        Roller mRoller = getRoller();
        PropertiesManager pmgr = mRoller.getPropertiesManager();
        RollerPropertyData spamprop = pmgr.getProperty("spam.blacklist");
        this.origSpamWords = spamprop.getValue();
        spamprop.setValue(spamprop.getValue() + ", spamtest");
        pmgr.store(spamprop);
        
        // Process count unique referers
        rmgr = getRoller().getRefererManager();
        Calendar lCalendar = Calendar.getInstance();
        lCalendar.setTime(new Date()
 );
        for (int i = 0; i < count; i++)
        {
            lCalendar.add(Calendar.DATE, -1);
            Timestamp day = new Timestamp(lCalendar.getTime().getTime());
            testDay = DateUtil.format8chars(day);
            
            getRoller().begin(UserData.SYSTEM_USER);
            /*
            MockRequest mock = new MockRequest(
                                DateUtil.format8chars(day),
                                "http://test"+i,
                                "http://test"+i,
                                null,
                                mWebsite
            );
            rmgr.processRequest(mock);
            */
            rmgr.processReferrer("http://test"+i, "http://test"+i, 
                    mWebsite.getHandle(), null, testDay);
            getRoller().commit();
            
            //testDay = mock.getDateString();
        }
    }

    public void tearDown() throws Exception
    {      
        List refs = rmgr.getReferers(mW
 ebsite);
        // Remove all referers processes
        for (int i = 0; i < refs.size(); i++)
        {
            rmgr.removeReferer(((RefererData)refs.get(i)).getId());    
        }
        
        // Make sure all were removed
        refs = rmgr.getReferers(mWebsite);            
        assertEquals(0,refs.size());

        // reset refererSpamWords to original value
        Roller mRoller = getRoller();
        PropertiesManager pmgr = mRoller.getPropertiesManager();
        RollerPropertyData spamprop = pmgr.getProperty("spam.blacklist");
        spamprop.setValue(this.origSpamWords);
        pmgr.store(spamprop);
        
        super.tearDown();
    }
    
    //------------------------------------------------------------------------
    public void testGetReferersToDate() throws Exception
    {
        List referers = rmgr.getReferersToDate(mWebsite, testDay);
        assertEquals("Should be one Referer.", referers.size(), 1);
    }
    
    //---------------
 ---------------------------------------------------------
    public void testRefererProcessing() throws RollerException
    {
        List refs = rmgr.getReferers(mWebsite);            
        assertEquals("number of referers should equal count", count, refs.size());
        
        int hits = rmgr.getDayHits(mWebsite);
        assertEquals("There should be one fewer hits than referers", count, hits);         
    }
    
    /* Self-Referrer Denial is now caught by the RefererFilter -- Allen G
    public void testSelfRefererDenial() throws RollerException
    {
        // test against "self referrals"
        getRoller().begin(UserData.SYSTEM_USER);
        // create "direct" referer
        boolean isSpam = rmgr.processRequest(
            new MockRequest(
                "20020101",
                "direct",
                "http://test.com",
                null, mWebsite
            )
        );
        getRoller().commit();
        assertFalse("is not spam", isSpam);
 
        int newRefCount = rmgr.getReferers(mWebsite).size();
        
        // now create self-referer
        getRoller().begin(UserData.SYSTEM_USER);
        
        isSpam = rmgr.processRequest(
            new MockRequest(
                "20020202",
                "http://test.com/page/" + mWebsite.getHandle(),
                "http://test.com",
                null, mWebsite
            )
        );
        getRoller().commit();
        assertFalse("is not spam", isSpam);
        
        // number of referrers should not have changed
        List refs = rmgr.getReferers(mWebsite);            
        assertEquals("self referal not ignored", newRefCount, refs.size()); 
        
        // now create self-referer from editor page
        isSpam = rmgr.processRequest(
            new MockRequest(
                "20020202",
                "http://test.com/weblog.do",
                "http://test.com",
                null, mWebsite
            )
        );
        
 getRoller().commit();
        assertFalse("is not spam", isSpam);
        
        // number of referrers should not have changed
        refs = rmgr.getReferers(mWebsite);            
        assertEquals("editor referal not ignored", newRefCount, refs.size()); 
    }
    */
    
    /**
     * Test to see if Referer Spam detection works.
     */
    /* Referrer spam detection now happens in the RefererFilter -- Allen G
    public void testSpamBlocking()
    {
        boolean isSpam = rmgr.processRequest(
            new MockRequest(
                "20040101",
                "http://www.spamtest.com",
                "http://test.com",
                null, mWebsite
            )
        );
        //assertTrue("failed to detect referer spam", isSpam);
    }
    */
    
    public void testApplyRefererFilters() throws Exception
    {
        List refs = rmgr.getReferers(mWebsite);
        assertEquals(count, refs.size());
        String origWords = null;
        
        
 getRoller().begin(UserData.SYSTEM_USER);
        Roller mRoller = getRoller();
        PropertiesManager pmgr = mRoller.getPropertiesManager();
        RollerPropertyData spamprop = pmgr.getProperty("spam.blacklist");
        origWords = spamprop.getValue();
        spamprop.setValue(spamprop.getValue() + ", test");
        pmgr.store(spamprop);
        getRoller().commit();
        
        getRoller().begin(UserData.SYSTEM_USER);
        getRoller().getRefererManager().applyRefererFilters();
        getRoller().commit();
        
        refs = rmgr.getReferers(mWebsite);
        assertEquals(0, refs.size());

        getRoller().begin(UserData.SYSTEM_USER);
        spamprop = pmgr.getProperty("spam.blacklist");
        spamprop.setValue(origWords);
        pmgr.store(spamprop);
        getRoller().commit();
    }
    
    public void testApplyRefererFiltersWebsite() throws Exception
    {
        List refs = rmgr.getReferers(mWebsite);
        assertEquals(count, refs.siz
 e());
        String origWords = null;
        
        getRoller().begin(UserData.SYSTEM_USER);
        mWebsite = getRoller().getUserManager().retrieveWebsite(mWebsite.getId());
        origWords = mWebsite.getBlacklist();
        mWebsite.setBlacklist("test");
        mWebsite.save();
        getRoller().commit();
        
        getRoller().begin(UserData.SYSTEM_USER);
        getRoller().getRefererManager().applyRefererFilters();
        getRoller().commit();
        
        refs = rmgr.getReferers(mWebsite);
        assertEquals(0, refs.size());
    }
}
\ No newline at end of file
+package org.roller.business; 

import java.sql.Timestamp;
import java.util.Calendar;
import java.util.Date;
import java.util.List;

import junit.framework.Test;
import junit.framework.TestSuite;
 
import org.roller.RollerException;
import org.roller.model.PropertiesManager;
import org.roller.model.RefererManager;
import org.roller.model.Roller;
import org.roller.pojos.RefererData;
import org.roller.pojos.RollerPropertyData;
import org.roller.pojos.UserData;
import org.roller.pojos.WeblogEntryData;
import org.roller.pojos.WebsiteData;
import org.roller.util.DateUtil;
import org.roller.RollerTestBase;

/**
 * Test Roller Referer Management.
 */
public class RefererManagerTest extends RollerTestBase 
{
    RefererManager rmgr;
    //List refs;
    int count = 20;        
    String testDay;
    String origSpamWords;

    //------------------------------------------------------------------------
	public RefererManagerTest(String name) 
    {
		super(name);
	}
    
    //--------
 ----------------------------------------------------------------
	public static void main(String args[]) 
    {
		junit.textui.TestRunner.run(RefererManagerTest.class);
	}
    
    //------------------------------------------------------------------------
    public static Test suite() 
    {
        return new TestSuite(RefererManagerTest.class);
    }

    public void setUp() throws Exception
    {
        super.setUp();
        
        // add "spamtest" to refererSpamWords
        Roller mRoller = getRoller();
        PropertiesManager pmgr = mRoller.getPropertiesManager();
        RollerPropertyData spamprop = pmgr.getProperty("spam.blacklist");
        this.origSpamWords = spamprop.getValue();
        spamprop.setValue(spamprop.getValue() + ", spamtest");
        pmgr.store(spamprop);
        
        // Process count unique referers
        rmgr = getRoller().getRefererManager();
        Calendar lCalendar = Calendar.getInstance();
        lCalendar.setTime(new Date()
 );
        for (int i = 0; i < count; i++)
        {
            lCalendar.add(Calendar.DATE, -1);
            Timestamp day = new Timestamp(lCalendar.getTime().getTime());
            testDay = DateUtil.format8chars(day);
            
            /*
            MockRequest mock = new MockRequest(
                                DateUtil.format8chars(day),
                                "http://test"+i,
                                "http://test"+i,
                                null,
                                mWebsite
            );
            rmgr.processRequest(mock);
            */
            rmgr.processReferrer("http://test"+i, "http://test"+i, 
                    mWebsite.getHandle(), null, testDay);
            getRoller().commit();
            
            //testDay = mock.getDateString();
        }
    }

    public void tearDown() throws Exception
    {      
        List refs = rmgr.getReferers(mWebsite);
        // Remove all referers processes
   
      for (int i = 0; i < refs.size(); i++)
        {
            rmgr.removeReferer(((RefererData)refs.get(i)).getId());    
        }
        
        // Make sure all were removed
        refs = rmgr.getReferers(mWebsite);            
        assertEquals(0,refs.size());

        // reset refererSpamWords to original value
        Roller mRoller = getRoller();
        PropertiesManager pmgr = mRoller.getPropertiesManager();
        RollerPropertyData spamprop = pmgr.getProperty("spam.blacklist");
        spamprop.setValue(this.origSpamWords);
        pmgr.store(spamprop);
        
        super.tearDown();
    }
    
    //------------------------------------------------------------------------
    public void testGetReferersToDate() throws Exception
    {
        List referers = rmgr.getReferersToDate(mWebsite, testDay);
        assertEquals("Should be one Referer.", referers.size(), 1);
    }
    
    //--------------------------------------------------------------------
 ----
    public void testRefererProcessing() throws RollerException
    {
        List refs = rmgr.getReferers(mWebsite);            
        assertEquals("number of referers should equal count", count, refs.size());
        
        int hits = rmgr.getDayHits(mWebsite);
        assertEquals("There should be one fewer hits than referers", count, hits);         
    }
    
    /* Self-Referrer Denial is now caught by the RefererFilter -- Allen G
    public void testSelfRefererDenial() throws RollerException
    {
        // test against "self referrals"
        getRoller().begin(UserData.SYSTEM_USER);
        // create "direct" referer
        boolean isSpam = rmgr.processRequest(
            new MockRequest(
                "20020101",
                "direct",
                "http://test.com",
                null, mWebsite
            )
        );
        getRoller().commit();
        assertFalse("is not spam", isSpam);
        int newRefCount = rmgr.getReferers(mWebsite)
 .size();
        
        // now create self-referer
        getRoller().begin(UserData.SYSTEM_USER);
        
        isSpam = rmgr.processRequest(
            new MockRequest(
                "20020202",
                "http://test.com/page/" + mWebsite.getHandle(),
                "http://test.com",
                null, mWebsite
            )
        );
        getRoller().commit();
        assertFalse("is not spam", isSpam);
        
        // number of referrers should not have changed
        List refs = rmgr.getReferers(mWebsite);            
        assertEquals("self referal not ignored", newRefCount, refs.size()); 
        
        // now create self-referer from editor page
        isSpam = rmgr.processRequest(
            new MockRequest(
                "20020202",
                "http://test.com/weblog.do",
                "http://test.com",
                null, mWebsite
            )
        );
        getRoller().commit();
        assertFalse("is not spa
 m", isSpam);
        
        // number of referrers should not have changed
        refs = rmgr.getReferers(mWebsite);            
        assertEquals("editor referal not ignored", newRefCount, refs.size()); 
    }
    */
    
    /**
     * Test to see if Referer Spam detection works.
     */
    /* Referrer spam detection now happens in the RefererFilter -- Allen G
    public void testSpamBlocking()
    {
        boolean isSpam = rmgr.processRequest(
            new MockRequest(
                "20040101",
                "http://www.spamtest.com",
                "http://test.com",
                null, mWebsite
            )
        );
        //assertTrue("failed to detect referer spam", isSpam);
    }
    */
    
    public void testApplyRefererFilters() throws Exception
    {
        List refs = rmgr.getReferers(mWebsite);
        assertEquals(count, refs.size());
        String origWords = null;
        
        Roller mRoller = getRoller();
        PropertiesManag
 er pmgr = mRoller.getPropertiesManager();
        RollerPropertyData spamprop = pmgr.getProperty("spam.blacklist");
        origWords = spamprop.getValue();
        spamprop.setValue(spamprop.getValue() + ", test");
        pmgr.store(spamprop);
        getRoller().commit();
        
        getRoller().getRefererManager().applyRefererFilters();
        getRoller().commit();
        
        refs = rmgr.getReferers(mWebsite);
        assertEquals(0, refs.size());

        spamprop = pmgr.getProperty("spam.blacklist");
        spamprop.setValue(origWords);
        pmgr.store(spamprop);
        getRoller().commit();
    }
    
    public void testApplyRefererFiltersWebsite() throws Exception
    {
        List refs = rmgr.getReferers(mWebsite);
        assertEquals(count, refs.size());
        String origWords = null;
        
        mWebsite = getRoller().getUserManager().retrieveWebsite(mWebsite.getId());
        origWords = mWebsite.getBlacklist();
        mWebsite.setBlac
 klist("test");
        mWebsite.save();
        getRoller().commit();
        
        getRoller().getRefererManager().applyRefererFilters();
        getRoller().commit();
        
        refs = rmgr.getReferers(mWebsite);
        assertEquals(0, refs.size());
    }
}
\ No newline at end of file

Modified: incubator/roller/branches/roller-newbackend/tests/org/roller/business/TestAll.java
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller-newbackend/tests/org/roller/business/TestAll.java?rev=392622&r1=392621&r2=392622&view=diff
==============================================================================
--- incubator/roller/branches/roller-newbackend/tests/org/roller/business/TestAll.java (original)
+++ incubator/roller/branches/roller-newbackend/tests/org/roller/business/TestAll.java Sat Apr  8 15:42:58 2006
@@ -7,35 +7,34 @@
 
 /**
  * Run the essential business layer tests (convenience test for IDEs)
- * 
- * @author llavandowska
  */
-public class TestAll extends TestCase
-{
-    public static Test suite()
-    {
+public class TestAll extends TestCase {
+    
+    
+    public TestAll(String testName) {
+        super(testName);
+    }
+    
+    
+    public static Test suite() {
         TestSuite suite = new TestSuite();
         
-        suite.addTest(WebsiteTest.suite());
-        suite.addTest(PermissionsTest.suite());        
-        suite.addTest(UserManagerTest.suite());       
-        suite.addTest(WeblogManagerTest.suite());        
-        suite.addTest(RefererManagerTest.suite());
-        suite.addTest(IndexManagerTest.suite());             
-        suite.addTest(BookmarkManagerTest.suite());
-        suite.addTest(FileManagerTest.suite());
-        suite.addTest(PlanetManagerTest.suite()); 
-        suite.addTest(PlanetManagerLocalTest.suite()); 
+        suite.addTest(WeblogTest.suite());
+        suite.addTest(PermissionTest.suite());
+        suite.addTest(UserManagerTest.suite());
+        //suite.addTest(WeblogManagerTest.suite());
+        //suite.addTest(RefererManagerTest.suite());
+        //suite.addTest(IndexManagerTest.suite());
+        //suite.addTest(BookmarkManagerTest.suite());
+        //suite.addTest(FileManagerTest.suite());
+        //suite.addTest(PlanetManagerTest.suite());
+        //suite.addTest(PlanetManagerLocalTest.suite());
         
         return suite;
     }
-    public TestAll(String testName)
-    {
-        super(testName);
-    }
-
-    public static void main(String[] args)
-    {
+    
+    
+    public static void main(String[] args) {
         String[] testCaseName = { TestAll.class.getName() };
         junit.textui.TestRunner.main(testCaseName);
     }

Modified: incubator/roller/branches/roller-newbackend/tests/org/roller/business/UserManagerTest.java
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller-newbackend/tests/org/roller/business/UserManagerTest.java?rev=392622&r1=392621&r2=392622&view=diff
==============================================================================
--- incubator/roller/branches/roller-newbackend/tests/org/roller/business/UserManagerTest.java (original)
+++ incubator/roller/branches/roller-newbackend/tests/org/roller/business/UserManagerTest.java Sat Apr  8 15:42:58 2006
@@ -9,451 +9,131 @@
 import java.util.List;
 import java.util.Map;
 import java.util.Properties;
-
 import junit.framework.Test;
 import junit.framework.TestSuite;
-
 import org.roller.RollerException;
 import org.roller.RollerTestBase;
 import org.roller.model.UserManager;
 import org.roller.model.WeblogManager;
 import org.roller.pojos.FolderData;
-import org.roller.pojos.WeblogTemplate;
 import org.roller.pojos.UserData;
 import org.roller.pojos.WeblogCategoryData;
 import org.roller.pojos.WebsiteData;
 
-///////////////////////////////////////////////////////////////////////////////
+
 /**
  * Test Roller User Management.
+ *
+ * users, roles, permissions, weblogs, weblog pages.
+ *
+ * 
  */
-public class UserManagerTest  extends RollerTestBase
-{
+public class UserManagerTest  extends RollerTestBase {
+    
     WebsiteData enabledSite = null;
     UserData    enabledUser = null;
     String      enabledUserName = "enabledUser";
-
+    
     WebsiteData disabledSite = null;
     UserData    disabledUser = null;
     String      disabledUserName = "disabledUser";
-
+    
     //------------------------------------------------------------------------
-    public UserManagerTest()
-    {
+    public UserManagerTest() {
         super();
     }
-
+    
     //------------------------------------------------------------------------
-    public UserManagerTest(String name)
-    {
+    public UserManagerTest(String name) {
         super(name);
     }
-
+    
     //------------------------------------------------------------------------
-    public static Test suite()
-    {
+    public static Test suite() {
         return new TestSuite(UserManagerTest.class);
     }
-
+    
     //------------------------------------------------------------------------
-    public static void main(String args[])
-    {
+    public static void main(String args[]) {
         junit.textui.TestRunner.run(UserManagerTest.class);
     }
-
+    
     /**
      * @see junit.framework.TestCase#setUp()
      */
-    public void setUp() throws Exception
-    {
+    public void setUp() throws Exception {
         super.setUp();
-
-        getRoller().begin(UserData.SYSTEM_USER);
+        
         UserManager umgr = getRoller().getUserManager();
-
+        
         enabledUser = createUser(enabledUserName,
-                                 "password",
-                                 "EnabledUser",
-                                 "enabledUser@example.com");
+                "password",
+                "EnabledUser",
+                "enabledUser@example.com");
         enabledUser.setEnabled(Boolean.TRUE);
         enabledSite = ((WebsiteData)umgr.getWebsites(enabledUser, null, null).get(0));
-        enabledSite.setEnabled(Boolean.TRUE);       
-
+        enabledSite.setEnabled(Boolean.TRUE);
+        umgr.storeUser(enabledUser);
+        umgr.storeWebsite(enabledSite);
+        
         disabledUser = createUser(disabledUserName,
-                                 "password",
-                                 "DisabledUser",
-                                 "disabledUser@example.com");
-                
+                "password",
+                "DisabledUser",
+                "disabledUser@example.com");
         disabledUser.setEnabled(Boolean.FALSE);
         disabledSite = ((WebsiteData)umgr.getWebsites(disabledUser, null, null).get(0));
-        disabledSite.setEnabled(Boolean.FALSE);  
-
-        getRoller().commit();
+        disabledSite.setEnabled(Boolean.FALSE);
+        umgr.storeUser(disabledUser);
+        umgr.storeWebsite(disabledSite);
+        
     }
-
+    
     /**
      * @see junit.framework.TestCase#tearDown()
      */
-    public void tearDown() throws Exception
-    {
+    public void tearDown() throws Exception {
         super.tearDown();
-
-        getRoller().begin(UserData.SYSTEM_USER);
-        UserManager umgr = getRoller().getUserManager();
-
-        enabledSite = umgr.retrieveWebsite(enabledSite.getId());
-        enabledSite.remove();
         
-        enabledUser = umgr.retrieveUser(enabledUser.getId());
-        enabledUser.remove();
-
-        disabledSite = umgr.retrieveWebsite(disabledSite.getId());
-        disabledSite.remove();
-        
-        disabledUser = umgr.retrieveUser(disabledUser.getId());
-        disabledUser.remove();
-
-        getRoller().commit();
-    }
-
-    //------------------------------------------------------------------------
-    /** Tests storage and removal of user. */
-    public void testUserStorage() throws RollerException
-    {
-        UserManager umgr = getRoller().getUserManager();
-        UserData stored = null;
-
-        getRoller().begin(UserData.SYSTEM_USER);
-        stored = new UserData(
-            null,
-            "testUserStorage2",
-            "password2",
-            "TestUser2",
-            "testuser2@example.com",
-            "en_US_WIN", "America/Los_Angeles",
-            new java.util.Date(), Boolean.TRUE);
-        umgr.storeUser(stored);
-        getRoller().commit();
-
-        getRoller().begin(UserData.SYSTEM_USER);
-        UserData retrieved = umgr.retrieveUser(stored.getId());
-        assertEquals(stored, retrieved);
-        getRoller().release();
-
-        getRoller().begin(UserData.SYSTEM_USER);
-        retrieved = umgr.retrieveUser(stored.getId());
-        retrieved.remove();
-        getRoller().commit();
-
-        getRoller().begin(UserData.SYSTEM_USER);
-        assertNull(umgr.retrieveUser(stored.getId()));
-        getRoller().release();
-    }
-
-    //------------------------------------------------------------------------
-    /** Tests storage and removal of website. */
-    public void testWebsiteStorage() throws RollerException
-    {
-        UserData user = null;
-        WebsiteData stored = null;
         UserManager umgr = getRoller().getUserManager();
-
-        getRoller().begin(UserData.SYSTEM_USER);
-
-        user = new UserData(
-            null,
-            "testWebsiteStorage3",
-            "password3",
-            "TestUser3",
-            "testuser3@example.com",
-            "en_US_WIN", "America/Los_Angeles",
-            new java.util.Date(), Boolean.TRUE);
-        umgr.storeUser(user);
         
-        stored = new WebsiteData();
-        stored.setName("testsite3");
-        stored.setHandle("testsite3");
-        stored.setDescription("Testsite3");
-        stored.setCreator(user);
-        stored.setDefaultPageId("dpid");
-        stored.setWeblogDayPageId("ddid");
-        stored.setEnableBloggerApi(Boolean.FALSE);
-        stored.setEditorPage("edit-weblog.jsp");
-        stored.setAllowComments(Boolean.TRUE);
-        stored.setEmailComments(Boolean.FALSE);
-        stored.setEmailAddress("test@test.com");
-        stored.setEnabled(Boolean.TRUE);
-        stored.setEditorTheme("theme");
-        stored.setDateCreated(new Date());
-        stored.setBlacklist("ignore");
-        stored.setDefaultAllowComments(Boolean.TRUE);
-        stored.setDefaultCommentDays(7);
-        stored.setModerateComments(Boolean.FALSE);
-        umgr.storeWebsite(stored);
+        enabledSite = umgr.retrieveWebsite(enabledSite.getId());
+        umgr.removeWebsite(enabledSite);
         
-        WeblogCategoryData rootCategory = getRoller().getWeblogManager()
-            .createWeblogCategory(stored, null, "root", "root", "");
-        rootCategory.save();
-
-        stored.setBloggerCategory(rootCategory);
-        stored.setDefaultCategory(rootCategory);
+        enabledUser = umgr.retrieveUser(enabledUser.getId());
+        umgr.removeUser(enabledUser);
         
-        FolderData rootFolder = getRoller().getBookmarkManager()
-            .createFolder(null, "root", "root", stored);
-        rootFolder.save();
-
-        getRoller().commit();
-
-        getRoller().begin(UserData.SYSTEM_USER);
-        WebsiteData retrieved = umgr.retrieveWebsite(stored.getId());
-        assertEquals(stored, retrieved);
-        retrieved.remove();
-        getRoller().commit();
-
-        getRoller().begin(UserData.SYSTEM_USER);
-        user = umgr.retrieveUser(user.getId());
-        user.remove();
-        getRoller().commit();
-
-        getRoller().begin(UserData.SYSTEM_USER);
-        assertNull(umgr.retrieveUser(user.getId()));
-        assertNull(umgr.retrieveWebsite(stored.getId()));
-        getRoller().rollback();
-    }
-
-    public void testAddRemoveUser() throws RollerException
-    {
-        UserManager umgr = getRoller().getUserManager();
-
-        // Add a user
-
-        getRoller().begin(UserData.SYSTEM_USER);
-        UserData user = new UserData(
-            null,
-            "testAddRemoveUser",
-            "password4",
-            "TestUser4",
-            "testuser4@example.com",
-            "en_US_WIN", "America/Los_Angeles",
-            new java.util.Date(), Boolean.TRUE);
-        Map pages = new HashMap();
-        pages.put("Weblog","Weblog page content");
-        pages.put("_day","Day page content");
-        pages.put("css","CSS page content");
-        umgr.addUser(user);
-        umgr.createWebsite(user, pages, 
-                user.getUserName(), user.getUserName(), user.getUserName(), 
-                "dummy@example.com","basic", "en_US_WIN", "America/Los_Angeles");
-        getRoller().commit();
-
-        // Verify that user has all the goodies
-        getRoller().begin(UserData.SYSTEM_USER);
-        UserData user1 = umgr.retrieveUser(user.getId());
-        assertNotNull(user1);
-
-        WebsiteData website = (WebsiteData)umgr.getWebsites(user, null, null).get(0);
-        assertNotNull(website);
-
-        FolderData root = getRoller().getBookmarkManager().getRootFolder(website);
-        assertNotNull(root);
-
-        List pages1 = getRoller().getUserManager().getPages(website);
-        // new registrations require a theme, so no pages are created -- Allen G
-        assertEquals(0, pages1.size());
-        getRoller().rollback();
-
-        // Remove the website and user
-        getRoller().begin(UserData.SYSTEM_USER);
-        website = umgr.retrieveWebsite(website.getId());
-        website.remove();
-        user = umgr.retrieveUser(user.getId());
-        user.remove();
-        getRoller().commit();
-
-        // Verify that user was completely deleted
-        getRoller().begin(UserData.SYSTEM_USER);
-        UserData user2 = umgr.retrieveUser(user.getId());
-        assertNull(user2);
-
-        assertNull(getRoller().getBookmarkManager().retrieveFolder(root.getId()));
-
-        List pages2 = getRoller().getUserManager().getPages(website);
-        assertEquals(0, pages2.size());
-        getRoller().rollback();
-    }
-
-    public void testGetWebsite() throws RollerException
-    {
-        UserManager umgr = getRoller().getUserManager();
+        disabledSite = umgr.retrieveWebsite(disabledSite.getId());
+        umgr.removeWebsite(disabledSite);
         
-        // can get testuser0 who is enabled
-        assertTrue(umgr.getWebsites(
-                umgr.getUser(enabledUserName), Boolean.TRUE, null).size() > 0);
-
-        // can't get testuser1, who is disabled
         disabledUser = umgr.retrieveUser(disabledUser.getId());
-        assertTrue(umgr.getWebsites(
-                disabledUser, Boolean.TRUE, null).size() == 0);
-
-        // can get testuser1 with enabledOnly flag set to false
-        assertTrue(umgr.getWebsites(
-                umgr.getUser(disabledUserName), Boolean.FALSE, null).size() == 1);
-    }
-
-    public void testGetUser() throws RollerException
-    {
-        // can get testuser0 who is enabled
-        getRoller().begin(UserData.SYSTEM_USER);
+        umgr.removeUser(disabledUser);
         
-        UserData user = getRoller().getUserManager().getUser(enabledUserName);
-        assertNotNull(user);
-        
-        // can't get testuser1, who is disabled
-        assertNull(getRoller().getUserManager().getUser(disabledUserName));
-
-        // can get testuser1 with enabledOnly flag set to false
-        assertNotNull(getRoller().getUserManager().getUser(disabledUserName, null));
-        
-        getRoller().release();
-    }
-
-    public void testGetUsers() throws RollerException
-    {
-        // There are users
-        int userCountEnabled = getRoller().getUserManager().getUsers().size();
-        assertTrue(userCountEnabled > 0);
-
-        // At least one user is disabled
-        int userCountAll = getRoller().getUserManager().getUsers(null).size();
-        assertTrue(userCountAll > userCountEnabled);
-    }
-
-    public void testUserRoles() throws Exception {
-        
-        UserData user = null;
-        
-        // check existing roles within a session
-        getRoller().begin(UserData.SYSTEM_USER);        
-        user = getRoller().getUserManager().getUser(enabledUserName);
-        assertNotNull(user);
-        assertNotNull(user.getRoles());
-        assertEquals(1, user.getRoles().size()); 
-        getRoller().release();
-        
-        // test hasRole within a session
-        getRoller().begin(UserData.SYSTEM_USER);        
-        user = getRoller().getUserManager().getUser(enabledUserName);
-        assertTrue(user.hasRole("editor"));
-        getRoller().release();
-        
-        // and without a session
-        assertTrue(user.hasRole("editor"));
-
-        // test revokeRole within session
-        getRoller().begin(UserData.SYSTEM_USER);
-        user = getRoller().getUserManager().getUser(enabledUserName);
-        user.revokeRole("editor");
-        assertFalse(user.hasRole("editor"));
-        getRoller().commit();
-        
-        // role has been removed after commit?
-        assertFalse(user.hasRole("editor"));
-        
-        // restore role
-        getRoller().begin(UserData.SYSTEM_USER);
-        user = getRoller().getUserManager().getUser(enabledUserName);
-        user.grantRole("editor");
-        assertTrue(user.hasRole("editor"));
-        getRoller().commit();
-
-        assertTrue(user.hasRole("editor"));
     }
     
+    
     /** Each website should be able to return a page named Weblog */
-    public void testGetPageByName() throws RollerException
-    {
+    public void testGetPageByName() throws RollerException {
         UserManager umgr = getRoller().getUserManager();
         WebsiteData wd0 = (WebsiteData)umgr.getWebsites(
                 umgr.getUser(enabledUserName), null, null).get(0);
         assertNotNull(wd0.getPageByName("Weblog"));
     }
-
+    
+    
     /** Each website should be able to return a page with link=Weblog */
-    public void testGetPageByLink() throws RollerException
-    {
+    public void testGetPageByLink() throws RollerException {
         UserManager umgr = getRoller().getUserManager();
         WebsiteData wd0 = (WebsiteData)umgr.getWebsites(
                 umgr.getUser(enabledUserName), null, null).get(0);
         assertNotNull(wd0.getPageByLink("Weblog"));
     }
-
-    public void testGetPages() throws RollerException
-    {
+    
+    
+    public void testGetPages() throws RollerException {
         UserManager umgr = getRoller().getUserManager();
         WebsiteData wd0 = (WebsiteData)umgr.getWebsites(
                 umgr.getUser(enabledUserName), null, null).get(0);
         assertEquals(5, wd0.getPages().size());
-    }
-
-    public void hide_testUpdateIfNeeded() throws Exception
-    {
-        UserManager umgr = getRoller().getUserManager();
-        WeblogManager wmgr = getRoller().getWeblogManager();
-        PersistenceStrategy pstrategy = getRoller().getPersistenceStrategy();
-
-        // create cats without a root
-        getRoller().begin(UserData.SYSTEM_USER);
-
-        WebsiteData website = umgr.retrieveWebsite(mWebsite.getId());
-        WeblogCategoryData origRoot = wmgr.getRootWeblogCategory(mWebsite);
-        website.setBloggerCategory(null);
-        website.setDefaultCategory(null);
-
-        if (null != origRoot) origRoot.remove();
-
-        WeblogCategoryData cat1 = wmgr.createWeblogCategory(
-            website, null, "cat1 name", "cat1 desc", null);
-        pstrategy.store(cat1);
-
-        WeblogCategoryData cat2 = wmgr.createWeblogCategory(
-            website, null, "cat2 name", "cat2 desc", null);
-        pstrategy.store(cat2);
-
-        WeblogCategoryData cat3 = wmgr.createWeblogCategory(
-            website, null, "cat3 name", "cat3 desc", null);
-        pstrategy.store(cat3);
-
-        getRoller().commit();
-
-        // upgrade site
-
-        // We need a database connection and the hibernate.properties file
-        // is easier to parse than the Castor database.xml file.
-        Properties hibernateProperties = new Properties();
-        hibernateProperties.load(new FileInputStream("hibernate.properties"));
-        String driverClass = hibernateProperties.getProperty("hibernate.connection.driver_class");
-        String connectionUrl = hibernateProperties.getProperty("hibernate.connection.url");
-        Class.forName(driverClass);
-        Connection con = DriverManager.getConnection(connectionUrl);
-
-        getRoller().upgradeDatabase(con);
-
-        // verify that upgrade created a root and assigned it to cats
-        getRoller().begin(UserData.SYSTEM_USER);
-        WeblogCategoryData root = wmgr.getRootWeblogCategory(mWebsite);
-        assertNotNull(root);
-
-        cat1 = wmgr.retrieveWeblogCategory(cat1.getId());
-        assertEquals(root, cat1.getParent());
-
-        cat2 = wmgr.retrieveWeblogCategory(cat2.getId());
-        assertEquals(root, cat2.getParent());
-
-        cat3 = wmgr.retrieveWeblogCategory(cat3.getId());
-        assertEquals(root, cat3.getParent());
-
-        getRoller().release();
-    }
-
-
+    }    
+    
 }

Added: incubator/roller/branches/roller-newbackend/tests/org/roller/business/UserTest.java
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller-newbackend/tests/org/roller/business/UserTest.java?rev=392622&view=auto
==============================================================================
--- incubator/roller/branches/roller-newbackend/tests/org/roller/business/UserTest.java (added)
+++ incubator/roller/branches/roller-newbackend/tests/org/roller/business/UserTest.java Sat Apr  8 15:42:58 2006
@@ -0,0 +1,209 @@
+
+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.model.RollerFactory;
+import org.roller.model.UserManager;
+import org.roller.pojos.UserData;
+
+
+/**
+ * Test User related business operations.
+ *
+ * That includes:
+ *   - creating a user
+ *   - updating a user
+ *   - deleting a user
+ *   - getting a user by id
+ *   - getting a user by username (enabled and disabled)
+ *   - getting a user starting with XXX
+ *   - adding a role for a user
+ *   - removing a role for a user
+ *
+ */
+public class UserTest extends TestCase {
+    
+    public static Log log = LogFactory.getLog(UserTest.class);
+    
+    UserData testUser = null;
+    
+    
+    public UserTest(String name) {
+        super(name);
+    }
+    
+    
+    public static Test suite() {
+        return new TestSuite(UserTest.class);
+    }
+    
+    
+    public void setUp() throws Exception {
+        
+        testUser = new UserData();
+        testUser.setUserName("testUser");
+        testUser.setPassword("password");
+        testUser.setFullName("Test User");
+        testUser.setEmailAddress("TestUser@dev.null");
+        testUser.setLocale("en_US");
+        testUser.setTimeZone("America/Los_Angeles");
+        testUser.setDateCreated(new java.util.Date());
+        testUser.setEnabled(Boolean.TRUE);
+    }
+    
+    public void tearDown() throws Exception {
+        testUser = null;
+    }
+    
+    
+    /**
+     * Test basic persistence operations ... Create, Update, Delete
+     */
+    public void testUserCRUD() throws Exception {
+        
+        UserManager mgr = RollerFactory.getRoller().getUserManager();
+        UserData user = null;
+        
+        // make sure test user does not exist
+        user = mgr.getUser(testUser.getUserName());
+        assertNull(user);
+        
+        // add test user
+        mgr.addUser(testUser);
+        
+        // make sure test user exists
+        user = mgr.getUser(testUser.getUserName());
+        assertNotNull(user);
+        assertEquals(testUser.getUserName(), user.getUserName());
+        
+        // modify user and save
+        user.setFullName("testtesttest");
+        mgr.storeUser(user);
+        user = null;
+        
+        // make sure changes were saved
+        user = mgr.getUser(testUser.getUserName());
+        assertNotNull(user);
+        assertEquals("testtesttest", user.getFullName());
+        
+        // remove test user
+        mgr.removeUser(user);
+        user = null;
+        
+        // make sure user no longer exists
+        user = mgr.getUser(testUser.getUserName());
+        assertNull(user);
+    }
+    
+    
+    /**
+     * Test lookup mechanisms ... Id, UserName, UserName (part), Email (part)
+     */
+    public void testUserLookups() throws Exception {
+        
+        UserManager mgr = RollerFactory.getRoller().getUserManager();
+        UserData user = null;
+        
+        // make sure test user does not exist
+        user = mgr.getUser(testUser.getUserName());
+        assertNull(user);
+        
+        // add test user
+        mgr.addUser(testUser);
+        
+        // lookup by username
+        user = mgr.getUser(testUser.getUserName());
+        assertNotNull(user);
+        assertEquals(testUser.getUserName(), user.getUserName());
+        
+        // lookup by id
+        String id = user.getId();
+        user = null;
+        user = mgr.retrieveUser(id);
+        assertNotNull(user);
+        assertEquals(testUser.getUserName(), user.getUserName());
+        
+        // lookup by UserName (part)
+        user = null;
+        List users1 = mgr.getUsersStartingWith(testUser.getUserName().substring(0, 3), 0, 1, Boolean.TRUE);
+        assertEquals(1, users1.size());
+        user = (UserData) users1.get(0);
+        assertNotNull(user);
+        assertEquals(testUser.getUserName(), user.getUserName());
+        
+        // lookup by Email (part)
+        user = null;
+        List users2 = mgr.getUsersStartingWith(testUser.getEmailAddress().substring(0, 3), 0, 1, Boolean.TRUE);
+        assertEquals(1, users2.size());
+        user = (UserData) users2.get(0);
+        assertNotNull(user);
+        assertEquals(testUser.getUserName(), user.getUserName());
+        
+        // make sure disable users are not returned
+        user.setEnabled(Boolean.FALSE);
+        mgr.storeUser(user);
+        user = null;
+        user = mgr.getUser(testUser.getUserName());
+        assertNull(user);
+        
+        // remove test user
+        user = mgr.getUser(testUser.getUserName(), Boolean.FALSE);
+        assertNotNull(user);
+        mgr.removeUser(user);
+        user = null;
+    }
+    
+    
+    /**
+     * Test basic user role persistence ... Add, Remove
+     */
+    public void testRoleCRUD() throws Exception {
+        
+        UserManager mgr = RollerFactory.getRoller().getUserManager();
+        UserData user = null;
+        
+        // make sure test user does not exist
+        user = mgr.getUser(testUser.getUserName());
+        assertNull(user);
+        
+        // add test user
+        mgr.addUser(testUser);
+        
+        // verify user has 2 roles, admin & editor
+        user = mgr.getUser(testUser.getUserName());
+        assertNotNull(user);
+        assertEquals(user.getRoles().size(), 2);
+        assertTrue(user.hasRole("editor"));
+        assertTrue(user.hasRole("admin"));
+        
+        // remove role
+        user.revokeRole("admin");
+        mgr.storeUser(user);
+        user = null;
+        user = mgr.getUser(testUser.getUserName());
+        assertNotNull(user);
+        assertEquals(user.getRoles().size(), 1);
+        assertTrue(user.hasRole("editor"));
+        assertFalse(user.hasRole("admin"));
+        
+        // add role
+        user.grantRole("admin");
+        mgr.storeUser(user);
+        user = null;
+        user = mgr.getUser(testUser.getUserName());
+        assertNotNull(user);
+        assertEquals(user.getRoles().size(), 2);
+        assertTrue(user.hasRole("editor"));
+        assertTrue(user.hasRole("admin"));
+        
+        // remove test user
+        mgr.removeUser(user);
+        user = null;
+    }
+    
+}