KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > sslexplorer > jdbc > JDBCPropertyDatabaseTest


1 /*
2  * SSL-Explorer
3  *
4  * Copyright (C) 2003-2006 3SP LTD. All Rights Reserved
5  *
6  * This program is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU General Public License
8  * as published by the Free Software Foundation; either version 2 of
9  * the License, or (at your option) any later version.
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public
16  * License along with this program; if not, write to the Free Software
17  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
18  */

19             
20 package com.sslexplorer.jdbc;
21
22 import static org.junit.Assert.fail;
23 import junit.framework.Assert;
24
25 import org.junit.AfterClass;
26 import org.junit.BeforeClass;
27 import org.junit.Test;
28
29 import com.sslexplorer.boot.PropertyClassManager;
30 import com.sslexplorer.core.CoreServlet;
31 import com.sslexplorer.properties.attributes.AbstractXMLDefinedAttributesPropertyClass;
32 import com.sslexplorer.properties.attributes.AttributeDefinition;
33 import com.sslexplorer.properties.impl.policyattributes.PolicyAttributeKey;
34 import com.sslexplorer.properties.impl.policyattributes.PolicyAttributes;
35 import com.sslexplorer.properties.impl.userattributes.UserAttributeKey;
36 import com.sslexplorer.properties.impl.userattributes.UserAttributes;
37 import com.sslexplorer.security.User;
38 import com.sslexplorer.testcontainer.AbstractTest;
39
40 /**
41  *
42  */

43 public class JDBCPropertyDatabaseTest extends AbstractTest {
44
45     private static JDBCPropertyDatabase propertyDatabase;
46     
47     /**
48      * @throws Exception
49      */

50     @BeforeClass
51     public static void oneTimeSetUp() throws Exception JavaDoc {
52         setUp("");
53         propertyDatabase = new JDBCPropertyDatabase();
54         propertyDatabase.open(CoreServlet.getServlet());
55     }
56
57     /**
58      * @throws Exception
59      */

60     @AfterClass
61     public static void after() throws Exception JavaDoc {
62         propertyDatabase.close();
63     }
64     
65     /**
66      * @param attribute
67      * @param attributeDefinition
68      * @throws Exception
69      */

70
71     public void createAttributeDefinition(AbstractXMLDefinedAttributesPropertyClass attribute, AttributeDefinition attributeDefinition) throws Exception JavaDoc {
72         attribute.registerPropertyDefinition(attributeDefinition);
73         attributeDefinition.init(attribute);
74         propertyDatabase.createAttributeDefinition(attributeDefinition);
75         PropertyClassManager.getInstance().registerPropertyClass(attribute);
76     }
77     
78     /**
79      * @param attribute
80      * @param attributeDefinition
81      * @throws Exception
82      */

83     public void updateAttributeDefinition(AbstractXMLDefinedAttributesPropertyClass attribute, AttributeDefinition attributeDefinition) throws Exception JavaDoc {
84         propertyDatabase.updateAttributeDefinition(attributeDefinition);
85     }
86     
87     /**
88      * @param attribute
89      * @param definitionName
90      * @throws Exception
91      */

92     public void deletAttributeDefinitionName(AbstractXMLDefinedAttributesPropertyClass attribute, String JavaDoc definitionName) throws Exception JavaDoc {
93         propertyDatabase.deleteAttributeDefinition(attribute.getName(), definitionName);
94         attribute.deregisterPropertyDefinition(definitionName);
95         PropertyClassManager.getInstance().deregisterPropertyClass(attribute.getName());
96     }
97     
98     /**
99      * @throws Exception
100      */

101     @Test
102     public void loadAttributeDefinitions() throws Exception JavaDoc {
103         propertyDatabase.loadAttributeDefinitions();
104     }
105     
106     /**
107      * @throws Exception
108      */

109     @Test
110     public void createUserAttributesDefinition() throws Exception JavaDoc {
111         UserAttributes attribute = new UserAttributes();
112         AttributeDefinition attributeDefinition = attribute.createAttributeDefinition(AttributeDefinition.TYPE_UNDEFINED, "AttributName", "typeMeta", -1, "categorylabel", "default value", AttributeDefinition.TYPE_UNDEFINED, 0, "", false, "Label", "Description", false, true, "");
113         createAttributeDefinition(attribute, attributeDefinition);
114         Assert.assertTrue("Should exist.", attribute.isDefinitionExists(attributeDefinition.getName()));
115         deletAttributeDefinitionName(attribute, attributeDefinition.getName());
116         Assert.assertFalse("Should not exist.", attribute.isDefinitionExists(attributeDefinition.getName()));
117     }
118     
119     /**
120      * @throws Exception
121      */

122     @Test
123     public void createPolicyAttributesDefinition() throws Exception JavaDoc {
124         UserAttributes attribute = new UserAttributes();
125         AttributeDefinition attributeDefinition = attribute.createAttributeDefinition(AttributeDefinition.TYPE_UNDEFINED, "AttributName", "typeMeta", -1, "categorylabel", "default value", AttributeDefinition.TYPE_UNDEFINED, 0, "", false, "Label", "Description", false, true, "");
126         createAttributeDefinition(attribute, attributeDefinition);
127         Assert.assertTrue("Should exist.", attribute.isDefinitionExists(attributeDefinition.getName()));
128         deletAttributeDefinitionName(attribute, attributeDefinition.getName());
129         Assert.assertFalse("Should not exist.", attribute.isDefinitionExists(attributeDefinition.getName()));
130     }
131     
132     /**
133      * @throws Exception
134      */

135     @Test
136     public void updateUserAttributeDefinitionName() throws Exception JavaDoc {
137         UserAttributes attribute = new UserAttributes();
138         AttributeDefinition attributeDefinition = attribute.createAttributeDefinition(AttributeDefinition.TYPE_UNDEFINED, "NewAttributName", "typeMeta", -1, "categorylabel", "default value", AttributeDefinition.TYPE_UNDEFINED, 0, "", false, "Label", "Description", false, true, "");
139         createAttributeDefinition(attribute, attributeDefinition);
140         Assert.assertTrue("Should exist.", attribute.isDefinitionExists(attributeDefinition.getName()));
141         updateAttributeDefinition(attribute, attributeDefinition);
142         deletAttributeDefinitionName(attribute, attributeDefinition.getName());
143         Assert.assertFalse("Should not exist.", attribute.isDefinitionExists(attributeDefinition.getName()));
144     }
145     
146     /**
147      * @throws Exception
148      */

149     @Test
150     public void updatePolicyAttributeDefinitionName() throws Exception JavaDoc {
151         PolicyAttributes attribute = new PolicyAttributes();
152         AttributeDefinition attributeDefinition = attribute.createAttributeDefinition(AttributeDefinition.TYPE_UNDEFINED, "NewAttributName", "typeMeta", -1, "categorylabel", "default value", AttributeDefinition.TYPE_UNDEFINED, 0, "", false, "Label", "Description", false, true, "");
153         createAttributeDefinition(attribute, attributeDefinition);
154         Assert.assertTrue("Should exist.", attribute.isDefinitionExists(attributeDefinition.getName()));
155         updateAttributeDefinition(attribute, attributeDefinition);
156         deletAttributeDefinitionName(attribute, attributeDefinition.getName());
157         Assert.assertFalse("Should not exist.", attribute.isDefinitionExists(attributeDefinition.getName()));
158     }
159     
160     /**
161      * @throws Exception
162      */

163     @Test
164     public void updateSystemUserAttributeDefinitionName() throws Exception JavaDoc {
165         User user = createAccount();
166         UserAttributes attribute = new UserAttributes();
167         UserAttributeKey attributeKey = new UserAttributeKey(user, "fathersFirstName");
168         AttributeDefinition attributeDefinition = (AttributeDefinition)attribute.getDefinition(attributeKey.getName());
169         try {
170             updateAttributeDefinition(attribute, attributeDefinition);
171             fail("This should have failed");
172         } catch (Exception JavaDoc e) {
173             // ignore
174
}
175         deleteAccount(user);
176     }
177     
178     /**
179      * @throws Exception
180      */

181     @Test
182     public void deleteSystemUserAttributeDefinitionName() throws Exception JavaDoc {
183         UserAttributes attribute = new UserAttributes();
184         try {
185             deletAttributeDefinitionName(attribute, "fathersFirstName");
186             fail("This should have failed");
187         } catch (Exception JavaDoc e) {
188             // ignore
189
}
190     }
191     
192     /**
193      * @throws Exception
194      */

195     @Test
196     public void deleteNoExistingAttributeDefinition() throws Exception JavaDoc {
197         UserAttributes attribute = new UserAttributes();
198         try {
199             deletAttributeDefinitionName(attribute, "none");
200             fail("This should have failed");
201         } catch (Exception JavaDoc e) {
202             // ignore
203
}
204     }
205     
206     /**
207      * @throws Exception
208      */

209     @Test
210     public void storeAndRetrieveUserAttributeValue() throws Exception JavaDoc {
211         String JavaDoc value = "new value";
212         User user = createAccount();
213         UserAttributeKey key = new UserAttributeKey(user, "newKey");
214         propertyDatabase.storeAttributeValue(key, value);
215         String JavaDoc retrievedValue = propertyDatabase.retrieveAttributeValue(key);
216         Assert.assertEquals("Attribute value should be this one.", value, retrievedValue);
217         propertyDatabase.storeAttributeValue(key, null);
218         deleteAccount(user);
219     }
220     
221     /**
222      * @throws Exception
223      */

224     @Test
225     public void storeAndRetrievePolicyAttributeValue() throws Exception JavaDoc {
226         String JavaDoc value = "new value";
227         PolicyAttributeKey key = new PolicyAttributeKey(0, "newKey");
228         propertyDatabase.storeAttributeValue(key, value);
229         String JavaDoc retrievedValue = propertyDatabase.retrieveAttributeValue(key);
230         Assert.assertEquals("Attribute value should be this one.", value, retrievedValue);
231         propertyDatabase.storeAttributeValue(key, null);
232     }
233     
234 }
235
Popular Tags