⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 weblogmanagertest.java

📁 这个weblogging 设计得比较精巧
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
package org.roller.business; import java.sql.Timestamp;import java.util.Date;import java.util.Iterator;import java.util.List;import java.util.Map;import junit.framework.Test; import junit.framework.TestSuite;import org.roller.RollerException;import org.roller.RollerPermissionsException;import org.roller.model.UserManager;import org.roller.model.WeblogManager;import org.roller.pojos.CommentData;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;import org.roller.RollerTestBase;/** * Test Roller Weblog Management. */public class WeblogManagerTest extends RollerTestBase {        String dest_id = null;    String c1_id = null;    String c2_id = null;    String c3_id = null;        //------------------------------------------------------------------------    public WeblogManagerTest(String name)     {        super(name);    }        //------------------------------------------------------------------------    public static void main(String args[])     {        junit.textui.TestRunner.run(WeblogManagerTest.class);    }        //------------------------------------------------------------------------    public static Test suite()     {        return new TestSuite(WeblogManagerTest.class);    }    //-----------------------------------------------------------------------    /**     * @see junit.framework.TestCase#setUp()     */    public void setUp() throws Exception    {        super.setUp();        setUpTestWeblogs();        setUpCategoryTree();    }        /**      * Add a small category tree to the small test website (mWebsite).      *    root/     *       c0/     *       c1/     *          c2/     *             c3/     */    public void setUpCategoryTree() throws Exception    {        getRoller().begin(UserData.SYSTEM_USER);                WebsiteData wd = null;        WeblogCategoryData root = null;        WeblogManager wmgr = getRoller().getWeblogManager();        wd = getRoller().getUserManager().retrieveWebsite(mWebsite.getId());        root = wmgr.getRootWeblogCategory(wd);        // create empty destination folder        WeblogCategoryData dest = wmgr.createWeblogCategory();        dest.setName("c0");        dest.setParent(root);        dest.setWebsite(wd);        dest.save();                       // create three level src category with entry in each category        WeblogCategoryData c1 = wmgr.createWeblogCategory();        c1.setName("c1");        c1.setParent(root);        c1.setWebsite(wd);        c1.save();                WeblogEntryData e1 = new WeblogEntryData(            null, c1, wd, "title1", null, "text", "anchor",             new Timestamp(0), new Timestamp(0), Boolean.FALSE);        e1.save();                WeblogCategoryData c2 = wmgr.createWeblogCategory();         c2.setName("c2");        c2.setParent(c1);        c2.setWebsite(wd);        c2.save();              WeblogEntryData e2 = new WeblogEntryData(            null, c2, wd, "title2", null, "text", "anchor",             new Timestamp(0), new Timestamp(0), Boolean.FALSE);        e2.save();                WeblogCategoryData c3 = wmgr.createWeblogCategory();         c3.setName("c3");        c3.setParent(c2);        c3.setWebsite(wd);        c3.save();                WeblogEntryData e3 = new WeblogEntryData(            null, c3, wd, "title3", null, "text", "anchor",             new Timestamp(0), new Timestamp(0), Boolean.FALSE);        e3.save();                getRoller().commit();                 dest_id = dest.getId();        c1_id = c1.getId();          c2_id = c2.getId();          c3_id = c3.getId();      }        //-----------------------------------------------------------------------    /**     * @see junit.framework.TestCase#tearDown()     */    public void tearDown() throws Exception    {        super.tearDown();        tearDownTestWeblogs();    }        //-----------------------------------------------------------------------        /** Add a small category tree to the small test website (mWebsite). */    public void testGetRecent() throws Exception    {        getRoller().begin(UserData.SYSTEM_USER);                WebsiteData wd = null;        WeblogCategoryData root = null;        WeblogManager wmgr = getRoller().getWeblogManager();        wd = getRoller().getUserManager().retrieveWebsite(mWebsite.getId());        root = wmgr.getRootWeblogCategory(wd);        // create top level folders        WeblogCategoryData t1 = wmgr.createWeblogCategory();        t1.setName("toplevel1");        t1.setParent(root);        t1.setWebsite(wd);        t1.save();                       WeblogCategoryData t2 = wmgr.createWeblogCategory();        t2.setName("toplevel2");        t2.setParent(root);        t2.setWebsite(wd);        t2.save();                       WeblogCategoryData t3 = wmgr.createWeblogCategory();        t3.setName("toplevel3");        t3.setParent(root);        t3.setWebsite(wd);        t3.save();                 getRoller().commit();                 getRoller().begin(UserData.SYSTEM_USER);                 // get persistent instances        t1 = wmgr.retrieveWeblogCategory(t1.getId());        wd = getRoller().getUserManager().retrieveWebsite(mWebsite.getId());                // Create four entries in 1st category        WeblogEntryData e1 = new WeblogEntryData(                null, t1, wd, "title1", null, "text1", "anchor",                 new Timestamp(0), new Timestamp(0), Boolean.FALSE);        e1.save();                WeblogEntryData e2 = new WeblogEntryData(                null, t1, wd, "title2", null, "text2", "anchor",                 new Timestamp(0), new Timestamp(0), Boolean.FALSE);        e2.save();                WeblogEntryData e3 = new WeblogEntryData(                null, t1, wd, "title3", null, "text3", "anchor",                 new Timestamp(0), new Timestamp(0), Boolean.FALSE);        e3.save();                WeblogEntryData e4 = new WeblogEntryData(                null, t1, wd, "title4", null, "text4", "anchor",                 new Timestamp(0), new Timestamp(0), Boolean.FALSE);        e4.save();                getRoller().commit();                 getRoller().begin(UserData.SYSTEM_USER);                //List entries = wmgr.getRecentWeblogEntriesArray(            //wd.getUser().getUserName(), new Date(), "toplevel1", 15, false);                List entries = wmgr.getWeblogEntries(                        wd,                        null,                       // startDate                        new Date(),                 // endDate                        "toplevel1",                 // catName                        WeblogManager.ALL,           // status                        new Integer(15));           // maxEntries        assertEquals(4, entries.size());                getRoller().rollback();    }        public void testGetWeblogCategoryRoot() throws Exception    {        getRoller().begin(UserData.SYSTEM_USER);        WeblogManager wmgr = getRoller().getWeblogManager();        assertNotNull(wmgr.getRootWeblogCategory(mWebsite));        getRoller().rollback();    }            public void testGetWeblogCategories() throws Exception    {        getRoller().begin(UserData.SYSTEM_USER);        WeblogManager wmgr = getRoller().getWeblogManager();        assertEquals(8, wmgr.getWeblogCategories(mWebsite).size());        getRoller().rollback();    }            public void testWeblogCategoryPaths() throws Exception    {        WebsiteData wd = null;        WeblogCategoryData root = null;        WeblogManager wmgr = getRoller().getWeblogManager();                getRoller().begin(UserData.SYSTEM_USER);                wd = getRoller().getUserManager().retrieveWebsite(mWebsite.getId());        root = wmgr.getRootWeblogCategory(wd);        WeblogCategoryData f1 = wmgr.createWeblogCategory();        f1.setName("f1");        f1.setParent(root);        f1.setWebsite(wd);        f1.save();                WeblogCategoryData f2 = wmgr.createWeblogCategory();         f2.setName("f2");        f2.setParent(f1);        f2.setWebsite(wd);        f2.save();              WeblogCategoryData f3 = wmgr.createWeblogCategory();         f3.setName("f3");        f3.setParent(f2);        f3.setWebsite(wd);        f3.save();                getRoller().commit();                getRoller().begin(UserData.SYSTEM_USER);                // check count of descendents and ancestors        f1 = wmgr.retrieveWeblogCategory(f1.getId());                assertEquals(2, f1.getAllDescendentAssocs().size());        assertEquals(1, f1.getAncestorAssocs().size());                f2 = wmgr.retrieveWeblogCategory(f2.getId());                assertEquals(1, f2.getAllDescendentAssocs().size());        assertEquals(2, f2.getAncestorAssocs().size());                f3 = wmgr.retrieveWeblogCategory(f3.getId());                assertEquals(0, f3.getAllDescendentAssocs().size());        assertEquals(3, f3.getAncestorAssocs().size());                // test get by path        assertEquals("f1",             wmgr.getWeblogCategoryByPath(wd, null, "f1").getName());                assertEquals("f1",             wmgr.getWeblogCategoryByPath(wd, null, "/f1").getName());                assertEquals("f2",             wmgr.getWeblogCategoryByPath(wd, null, "/f1/f2").getName());                assertEquals("f3",             wmgr.getWeblogCategoryByPath(wd, null, "/f1/f2/f3").getName());                // test path creation        f3 = wmgr.getWeblogCategoryByPath(wd, null, "/f1/f2/f3");        String pathString = wmgr.getPath(f3);        String[] pathArray = Utilities.stringToStringArray(pathString,"/");        assertEquals("f1", pathArray[0]);        assertEquals("f2", pathArray[1]);        assertEquals("f3", pathArray[2]);                getRoller().commit();    }                //-----------------------------------------------------------------------        public void testGetWeblogEntryByAnchor() throws Exception    {        WeblogManager wmgr = getRoller().getWeblogManager();                WeblogEntryData entry1 = (WeblogEntryData)mEntriesCreated.get(0);                WebsiteData website = entry1.getWebsite();                WeblogEntryData entry2 = wmgr.getWeblogEntryByAnchor(            website, entry1.getAnchor() );                assertEquals( entry1.getId(), entry2.getId() );    }         //-----------------------------------------------------------------------    /**     * Test latest publishTime for a User.     * This test passes inconsistently - I suspect Hibernate.     */    public void testGetWeblogLastUpdateTimeForUser() throws Exception    {        WeblogManager wmgr = getRoller().getWeblogManager();        /**          * really weird, but we cannot get 'entry1' directly,         * we have to iterate over entries.  We end up getting the same one         * either way, but fetching it directly fails!         */        int lastEntryIndex = (mEntriesCreated.size()-1);        //System.out.println("# entries:" + lastEntryIndex);        WeblogEntryData entry1 = null;        //WeblogEntryData entry1 = (WeblogEntryData)mEntriesCreated.get(lastEntryIndex);        if (entry1 == null || !entry1.getPublishEntry().booleanValue()) // if not published, find one        {            for (int i=lastEntryIndex; i >= 0; i--)            {                entry1 = (WeblogEntryData)                            mEntriesCreated.get(i); // last entry is newest                //System.out.println("entry " + i + "published:" + entry1.getPublishEntry());                if (entry1.getPublishEntry().booleanValue()) {                    break;                }            }        }                WebsiteData website = entry1.getWebsite();        UserData user = website.getUser();                Date updateTime = wmgr.getWeblogLastPublishTime(user.getUserName());                        assertEquals("THIS FAILS RANDOMLY, TRY AGAIN", entry1.getPubTime(),updateTime);    }    //-----------------------------------------------------------------------    /**     * Test latest publishTime when no User is specified.     * This test passes inconsistently - I suspect Hibernate.     */    public void testGetWeblogLastUpdateTimeForAll() throws Exception    {        WeblogManager wmgr = getRoller().getWeblogManager();        /**          * Have to iterate and test to find the latest *enabled* entry.         */        int lastEntryIndex = (mEntriesCreated.size()-1);        //System.out.println("# entries:" + lastEntryIndex);        WeblogEntryData entry1 = null;        WeblogEntryData temp = null;        for (int i=lastEntryIndex; i >= 0; i--)        {            temp = (WeblogEntryData)                        mEntriesCreated.get(i); // last entry is newest            //System.out.println("entry " + i + "published:" + entry1.getPublishEntry());            if (temp.getPublishEntry().booleanValue())             {                if (entry1 ==  null || entry1.getPubTime().compareTo(temp.getPubTime()) < 0)                {                       if (entry1 != null)                        System.out.println("replacing " + entry1.getTitle() + " with " + temp.getTitle());                    else                        System.out.println("setting entry1 to " + temp.getTitle());                    entry1 = temp;                }            }        }                Date updateTime = wmgr.getWeblogLastPublishTime(null);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -