KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > ivata > groupware > admin > setting > SettingsImplTest


1 /*
2  * Copyright (c) 2001 - 2005 ivata limited.
3  * All rights reserved.
4  * -----------------------------------------------------------------------------
5  * ivata groupware may be redistributed under the GNU General Public
6  * License as published by the Free Software Foundation;
7  * version 2 of the License.
8  *
9  * These programs are free software; you can redistribute them and/or
10  * modify them under the terms of the GNU General Public License
11  * as published by the Free Software Foundation; version 2 of the License.
12  *
13  * These programs are distributed in the hope that they will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
16  *
17  * See the GNU General Public License in the file LICENSE.txt for more
18  * details.
19  *
20  * If you would like a copy of the GNU General Public License write to
21  *
22  * Free Software Foundation, Inc.
23  * 59 Temple Place - Suite 330
24  * Boston, MA 02111-1307, USA.
25  *
26  *
27  * To arrange commercial support and licensing, contact ivata at
28  * http://www.ivata.com/contact.jsp
29  * -----------------------------------------------------------------------------
30  * $Log: SettingsImplTest.java,v $
31  * Revision 1.2 2005/04/09 17:19:11 colinmacleod
32  * Changed copyright text to GPL v2 explicitly.
33  *
34  * Revision 1.1.1.1 2005/03/10 17:50:14 colinmacleod
35  * Restructured ivata op around Hibernate/PicoContainer.
36  * Renamed ivata groupware.
37  *
38  * Revision 1.3 2004/11/12 18:17:25 colinmacleod
39  * Ordered imports.
40  *
41  * Revision 1.2 2004/11/12 15:57:08 colinmacleod
42  * Removed dependencies on SSLEXT.
43  * Moved Persistence classes to ivata masks.
44  *
45  * Revision 1.1 2004/07/13 19:41:17 colinmacleod
46  * Moved project to POJOs from EJBs.
47  * Applied PicoContainer to services layer (replacing session EJBs).
48  * Applied Hibernate to persistence layer (replacing entity EJBs).
49  * -----------------------------------------------------------------------------
50  */

51 package com.ivata.groupware.admin.setting;
52
53 import java.util.ArrayList JavaDoc;
54 import java.util.Iterator JavaDoc;
55 import java.util.List JavaDoc;
56
57 import net.sf.hibernate.HibernateException;
58
59 import com.ivata.groupware.admin.AdminTestCase;
60 import com.ivata.groupware.admin.security.server.SecuritySession;
61 import com.ivata.groupware.admin.security.user.UserDO;
62 import com.ivata.groupware.container.persistence.hibernate.HibernateManager;
63 import com.ivata.groupware.container.persistence.hibernate.HibernateSession;
64 import com.ivata.mask.util.SystemException;
65
66 /**
67  * @author Colin MacLeod
68  * <a HREF='mailto:colin.macleod@ivata.com'>colin.macleod@ivata.com</a>
69  * @since Jun 7, 2004
70  * @version $Revision: 1.2 $
71  */

72 public class SettingsImplTest extends AdminTestCase {
73     /**
74      * <p>
75      * This is the implementation instance which will be tested.
76      * </p>
77      */

78     private SettingsImpl settings;
79
80     private List JavaDoc testSettings = new ArrayList JavaDoc();
81
82     /**
83      * Constructor for SettingsImplTest.
84      * @param arg0
85      */

86     public SettingsImplTest(String JavaDoc arg0) throws HibernateException {
87         super(arg0);
88     }
89
90     private SettingDO createStringSetting(final String JavaDoc name) throws SystemException {
91         HibernateManager hibernateManager = getHibernateManager();
92         HibernateSession hibernateSession = getHibernateSession();
93
94         SettingDO setting = new SettingDO();
95         setting.setDescription("any description");
96         setting.setEnabled(true);
97         setting.setName("name");
98         setting.setType(SettingConstants.DATA_TYPE_STRING);
99         setting.setUser(null);
100         setting = (SettingDO) hibernateManager.add(hibernateSession, setting);
101         assertNotNull(setting.getId());
102         testSettings.add(setting);
103         return setting;
104     }
105
106     /*
107      * @see TestCase#setUp()
108      */

109     protected void setUp() throws Exception JavaDoc {
110         super.setUp();
111         SecuritySession securitySession = getSecuritySession();
112         settings = new SettingsImpl(getHibernateManager());
113     }
114
115     /*
116      * @see TestCase#tearDown()
117      */

118     protected void tearDown() throws Exception JavaDoc {
119         super.tearDown();
120         HibernateManager hibernateManager = getHibernateManager();
121         HibernateSession hibernateSession = getHibernateSession();
122
123         Iterator JavaDoc testSettingIterator = testSettings.iterator();
124         while (testSettingIterator.hasNext()) {
125             SettingDO setting = (SettingDO) testSettingIterator.next();
126             hibernateManager.remove(hibernateSession, setting);
127         }
128     }
129
130     public void testAmendSetting() throws SystemException {
131         SecuritySession securitySession = getSecuritySession();
132         HibernateManager hibernateManager = getHibernateManager();
133         HibernateSession hibernateSession = getHibernateSession();
134
135         SettingDO setting = createStringSetting("amend_test");
136         settings.amendSetting(securitySession, "amend_test", "new_value", null);
137         setting = (SettingDO)
138             hibernateManager.findInstance(hibernateSession, "adminSettingName",
139             new Object JavaDoc[] {setting.getName()});
140         assertEquals("new_value", setting.getValue());
141         UserDO user = securitySession.getUser();
142         settings.amendSetting(securitySession, "amend_test", "user_value", user);
143         SettingDO userSetting = (SettingDO)
144             hibernateManager.findInstance(hibernateSession, "adminSettingNameUserName",
145             new Object JavaDoc[] {setting.getName(), user.getName()});
146         setting = (SettingDO)
147             hibernateManager.findInstance(hibernateSession, "adminSettingName",
148             new Object JavaDoc[] {setting.getName()});
149         // check the general setting hasn't changed!
150
assertEquals("user_value", userSetting.getValue());
151         // check the general setting hasn't changed!
152
assertEquals("new_value", setting.getValue());
153     }
154
155     public void testGetBooleanSetting() throws SystemException {
156         SecuritySession securitySession = getSecuritySession();
157         HibernateManager hibernateManager = getHibernateManager();
158         HibernateSession hibernateSession = getHibernateSession();
159
160         SettingDO testSetting = createStringSetting("boolean_test");
161         testSetting.setType(SettingConstants.DATA_TYPE_BOOLEAN);
162         testSetting.setValue("false");
163         hibernateManager.amend(hibernateSession, testSetting);
164
165         Boolean JavaDoc test = settings.getBooleanSetting(securitySession, "boolean_test", null);
166         assertFalse(test.booleanValue());
167     }
168
169     public void testGetIntegerSetting() throws SystemException {
170         SecuritySession securitySession = getSecuritySession();
171         HibernateManager hibernateManager = getHibernateManager();
172         HibernateSession hibernateSession = getHibernateSession();
173
174         SettingDO testSetting = createStringSetting("integer_test");
175         testSetting.setType(SettingConstants.DATA_TYPE_BOOLEAN);
176         testSetting.setValue("202");
177         hibernateManager.amend(hibernateSession, testSetting);
178
179         Integer JavaDoc test = settings.getIntegerSetting(securitySession, "integer_test", null);
180         assertEquals(new Integer JavaDoc(202), test);
181     }
182
183     public void testGetSetting() throws SystemException {
184         SecuritySession securitySession = getSecuritySession();
185         HibernateManager hibernateManager = getHibernateManager();
186         HibernateSession hibernateSession = getHibernateSession();
187
188         SettingDO testSetting = createStringSetting("get_test");
189         testSetting.setValue("get_test_value");
190         hibernateManager.amend(hibernateSession, testSetting);
191
192         Object JavaDoc test = settings.getSetting(securitySession, "get_test", null);
193         assertEquals("get_test_value", test);
194     }
195
196     public void testGetSettingType() {
197     }
198
199     public void testGetStringSetting() {
200     }
201
202     public void testIsSettingEnabled() {
203     }
204
205     public void testRemoveSetting() {
206     }
207
208     public void testValidate() {
209     }
210
211 }
212
Popular Tags