📄 planetmanagertest.java
字号:
/* * Copyright 2005 Sun Microsystems, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */package org.roller.business;import java.util.ArrayList;import java.util.Date;import java.util.Iterator;import java.util.List;import java.util.Set;import junit.framework.Test;import junit.framework.TestCase;import junit.framework.TestSuite;import org.roller.RollerException;import org.roller.model.PlanetManager;import org.roller.model.Roller;import org.roller.model.RollerFactory;import org.roller.pojos.PlanetConfigData;import org.roller.pojos.PlanetEntryData;import org.roller.pojos.PlanetGroupData;import org.roller.pojos.PlanetSubscriptionData;import org.roller.pojos.UserData;/** * Test database implementation of PlanetManager. * @author Dave Johnson */public class PlanetManagerTest extends TestCase{ private Roller roller = null; public static void main(String[] args) { junit.textui.TestRunner.run(PlanetManagerTest.class); } public void testConfigurationStorage() throws Exception { Roller roller = getRoller(); assertNotNull(roller); PlanetManager planet = roller.getPlanetManager(); assertNotNull(planet); { // save config with default group roller.begin(); PlanetConfigData config = new PlanetConfigData(); config.setCacheDir("test_cache_dir"); config.setTitle("test_title"); config.setAdminEmail("test_admin_email"); PlanetGroupData group = new PlanetGroupData(); group.setDescription("test_group_desc"); group.setHandle("test_handle"); group.setTitle("test_title"); planet.saveGroup(group); config.setDefaultGroup(group); planet.saveConfiguration(config); roller.commit(); } { // retrieve config and default group roller.begin(); PlanetConfigData config = planet.getConfiguration(); assertEquals("test_cache_dir",config.getCacheDir()); assertEquals("test_title", config.getTitle()); assertEquals("test_admin_email", config.getAdminEmail()); PlanetGroupData group = config.getDefaultGroup(); assertEquals("test_group_desc",group.getDescription()); assertEquals("test_title",group.getTitle()); roller.rollback(); } { // remove config roller.begin(); PlanetConfigData config = planet.getConfiguration(); config.remove(); roller.commit(); } { // make sure config and group are gone roller.begin(); PlanetConfigData config = planet.getConfiguration(); assertNull(config); PlanetGroupData group = planet.getGroup("test_handle"); assertNull(group); roller.rollback(); } } public void testGroupStorage() throws Exception { Roller roller = getRoller(); assertNotNull(roller); PlanetManager planet = roller.getPlanetManager(); assertNotNull(planet); { // save group roller.begin(UserData.SYSTEM_USER); PlanetGroupData group = new PlanetGroupData(); group.setDescription("test_group_desc"); group.setHandle("test_handle"); group.setTitle("test_title"); planet.saveGroup(group); roller.commit(); } { // retrieve group roller.begin(); PlanetGroupData group = planet.getGroup("test_handle"); assertEquals("test_group_desc",group.getDescription()); assertEquals("test_title",group.getTitle()); assertEquals(1, planet.getGroupHandles().size()); roller.rollback(); } { // remove group roller.begin(); PlanetGroupData group = planet.getGroup("test_handle"); planet.deleteGroup(group); roller.commit(); } { // verify that it is gone roller.begin(); PlanetGroupData group = planet.getGroup("test_handle"); assertNull(group); roller.rollback(); } } public void testSubscriptionStorage() throws Exception { Roller roller = getRoller(); assertNotNull(roller); PlanetManager planet = roller.getPlanetManager(); assertNotNull(planet); { // save subscription roller.begin(); PlanetSubscriptionData sub = new PlanetSubscriptionData(); sub.setFeedUrl("test_url"); planet.saveSubscription(sub); roller.commit(); } { // retrieve subscription and add to group roller.begin(); PlanetGroupData group = new PlanetGroupData(); group.setDescription("test_group_desc"); group.setHandle("test_handle"); group.setTitle("test_title"); planet.saveGroup(group); PlanetSubscriptionData sub = planet.getSubscription("test_url"); assertNotNull(sub); group.addSubscription(sub); PlanetSubscriptionData sub1 = new PlanetSubscriptionData(); sub1.setFeedUrl("test_url1"); planet.saveSubscription(sub1); List subs = new ArrayList(); subs.add(sub1); group.addSubscriptions(subs); planet.saveGroup(group); roller.commit(); } { // get group and check it's subscriptions, remove it roller.begin(); PlanetGroupData group = planet.getGroup("test_handle"); Set subs = group.getSubscriptions(); assertEquals(2, subs.size()); planet.deleteGroup(group); roller.commit(); } { // make sure group gone, subs still there, then remove them too roller.begin(); PlanetGroupData group = planet.getGroup("test_handle"); assertNull(group); PlanetSubscriptionData sub = planet.getSubscription("test_url"); assertNotNull(sub); PlanetSubscriptionData sub1 = planet.getSubscription("test_url1"); assertNotNull(sub1); planet.deleteSubscription(sub); planet.deleteSubscription(sub1); roller.commit(); } { // make sure subscriptions are gone roller.begin(); PlanetSubscriptionData sub = planet.getSubscription("test_url"); assertNull(sub); PlanetSubscriptionData sub1 = planet.getSubscription("test_url1"); assertNull(sub1); roller.rollback(); } } public void testSubscriptionEntryStorage() throws Exception { Roller roller = getRoller(); assertNotNull(roller); PlanetManager planet = roller.getPlanetManager(); assertNotNull(planet); { // save subscription roller.begin(); PlanetSubscriptionData sub = new PlanetSubscriptionData(); sub.setFeedUrl("test_url"); planet.saveSubscription(sub); roller.commit(); } { // retrieve subscription and add entries roller.begin(); PlanetSubscriptionData sub = planet.getSubscription("test_url");
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -