1 16 17 package org.apache.jetspeed.services.security; 18 19 import java.util.Iterator ; 20 import java.util.HashMap ; 21 22 import junit.framework.Test; 24 import junit.framework.TestSuite; 25 26 import org.apache.turbine.services.TurbineServices; 27 import org.apache.turbine.util.TurbineConfig; 28 import org.apache.turbine.util.StringUtils; 29 30 import org.apache.jetspeed.test.JetspeedTestCase; 32 import org.apache.jetspeed.om.security.Group; 33 import org.apache.jetspeed.om.security.JetspeedGroupFactory; 34 35 41 42 public class TestGroupManagement extends JetspeedTestCase { 43 44 49 public TestGroupManagement( String name ) { 50 super( name ); 51 } 52 53 58 public static void main(String args[]) 59 { 60 junit.awtui.TestRunner.main( new String [] { TestGroupManagement.class.getName() } ); 61 } 62 63 public void setup() 64 { 65 } 67 68 74 public static Test suite() 75 { 76 return new TestSuite( TestGroupManagement.class ); 78 } 79 80 84 85 public void testGetGroups() throws Exception 86 { 87 GroupManagement service = getService(); 88 Group group = null; 89 HashMap map = new HashMap (); 90 91 try 92 { 93 Iterator groups = service.getGroups(); 94 while (groups.hasNext()) 95 { 96 group = (Group)groups.next(); 97 map.put(group.getName(), group); 98 } 99 assertTrue(map.get("apache") != null); 100 assertTrue(map.get("Jetspeed") != null); 101 assertTrue(map.get("bogusGroup") == null); 102 } 103 catch (Exception e) 104 { 105 fail(StringUtils.stackTrace(e)); 106 } 107 108 System.out.println("Completed getGroups Test OK "); 109 110 } 111 112 116 117 public void testGetGroupsForUser() throws Exception 118 { 119 GroupManagement service = getService(); 120 Group group = null; 121 HashMap map = new HashMap (); 122 123 try 124 { 125 Iterator groups = service.getGroups("turbine"); 126 while (groups.hasNext()) 127 { 128 group = (Group)groups.next(); 129 map.put(group.getName(), group); 130 System.out.println("[turbine] group = " + group.getName()); 131 } 132 assertTrue(map.get("Jetspeed") != null); 133 assertTrue(map.get("apache") == null); 134 135 map.clear(); 136 groups = service.getGroups("admin"); 137 while (groups.hasNext()) 138 { 139 group = (Group)groups.next(); 140 map.put(group.getName(), group); 141 System.out.println("[admin] group = " + group.getName()); 142 } 143 assertTrue(map.get("Jetspeed") != null); 144 145 } 146 catch (Exception e) 147 { 148 fail(StringUtils.stackTrace(e)); 149 } 150 151 System.out.println("Completed getGroups Test OK "); 152 153 } 154 155 159 160 public void testAddGroup() throws Exception 161 { 162 GroupManagement service = getService(); 163 Group group = null; 164 165 try 166 { 167 group = JetspeedGroupFactory.getInstance(); 168 group.setName("bogus"); 169 service.addGroup(group); 170 System.out.println("new group id = " + group.getId()); 171 assertTrue(group.getId() != null); 172 } 173 catch(Exception e) 174 { 175 fail(StringUtils.stackTrace(e)); 176 } 177 try 178 { 179 group = JetspeedGroupFactory.getInstance(); 180 group.setName("bogus"); 181 service.addGroup(group); 182 fail("Should've thrown a dup key exception on group"); 183 } 184 catch(Exception e) 185 { 186 assertTrue(e instanceof GroupException); 187 } 188 189 System.out.println("Completed addGroup Test OK "); 190 191 } 192 193 197 198 public void testRemoveGroup() throws Exception 199 { 200 GroupManagement service = getService(); 201 Group group = null; 202 203 try 204 { 205 service.removeGroup("bogus"); 206 } 207 catch(Exception e) 208 { 209 fail(StringUtils.stackTrace(e)); 210 } 211 try 212 { 213 service.removeGroup("catchmeifyoucan"); 214 fail("Should've thrown a not found exception on group"); 215 } 216 catch(Exception e) 217 { 218 assertTrue(e instanceof GroupException); 219 } 220 221 System.out.println("Completed addGroup Test OK "); 222 223 } 224 225 229 230 public void testGetGroup() throws Exception 231 { 232 GroupManagement service = getService(); 233 234 try 235 { 236 Group group = service.getGroup("Jetspeed"); 237 System.out.println("*** group nm = " + group.getName()); 238 System.out.println("*** group id = " + group.getId()); 239 assertTrue(group.getName().equals("Jetspeed")); 240 } 241 catch (Exception e) 242 { 243 fail(StringUtils.stackTrace(e)); 244 } 245 246 System.out.println("Completed getGroup Test OK "); 247 248 } 249 250 254 255 public void testSaveGroup() throws Exception 256 { 257 GroupManagement service = getService(); 258 259 try 260 { 261 Group group = service.getGroup("apache"); 262 service.saveGroup(group); 263 } 264 catch(Exception e) 265 { 266 fail(StringUtils.stackTrace(e)); 267 } 268 269 System.out.println("Completed saveGroup Test OK "); 270 271 } 272 273 277 public void testJoinGroup() throws Exception 278 { 279 GroupManagement service = getService(); 280 Group group = null; 281 282 try 283 { 284 service.joinGroup("turbine", "apache"); 285 } 286 catch(Exception e) 287 { 288 fail(StringUtils.stackTrace(e)); 289 } 290 try 291 { 292 service.joinGroup("baduser", "apache"); 293 fail("Should've thrown a bad user exception on join"); 294 } 295 catch(Exception e) 296 { 297 assertTrue(e instanceof GroupException); 298 } 299 300 System.out.println("Completed joinGroup Test OK "); 301 302 } 303 304 308 public void testUnjoinGroup() throws Exception 309 { 310 GroupManagement service = getService(); 311 Group group = null; 312 313 try 314 { 315 service.unjoinGroup("turbine", "apache"); 316 } 317 catch(Exception e) 318 { 319 fail(StringUtils.stackTrace(e)); 320 } 321 try 322 { 323 service.unjoinGroup("baduser", "apache"); 324 fail("Should've thrown a bad user exception on unjoin"); 325 } 326 catch(Exception e) 327 { 328 assertTrue(e instanceof GroupException); 329 } 330 331 System.out.println("Completed unjoinGroup Test OK "); 332 333 } 334 335 339 public void testInGroup() throws Exception 340 { 341 GroupManagement service = getService(); 342 Group group = null; 343 344 try 345 { 346 boolean in = service.inGroup("admin", "Jetspeed"); 347 assertTrue(true == in); 348 } 349 catch(Exception e) 350 { 351 fail(StringUtils.stackTrace(e)); 352 } 353 try 354 { 355 boolean in = service.inGroup("turbine", "apache"); 356 assertTrue(false == in); 357 } 358 catch(Exception e) 359 { 360 fail(StringUtils.stackTrace(e)); 361 } 362 363 System.out.println("Completed inGroup Test OK "); 364 365 } 366 367 371 private static TurbineConfig config = null; 372 373 377 static 378 { 379 try 380 { 381 config = new TurbineConfig( "webapp", "/WEB-INF/conf/TurbineResources.properties"); 382 config.init(); 383 } 384 catch (Exception e) 385 { 386 fail(StringUtils.stackTrace(e)); 387 } 388 } 389 390 private static GroupManagement getService() 391 { 392 return (GroupManagement)TurbineServices 393 .getInstance() 394 .getService(GroupManagement.SERVICE_NAME); 395 } 396 397 } 398 399 400 401 402 403 404 | Popular Tags |