1 16 17 package org.apache.jetspeed.services.security; 18 19 import java.util.Iterator ; 20 21 import junit.framework.Test; 23 import junit.framework.TestSuite; 24 25 import org.apache.turbine.services.TurbineServices; 26 import org.apache.turbine.util.TurbineConfig; 27 import org.apache.turbine.util.StringUtils; 28 29 import org.apache.jetspeed.test.JetspeedTestCase; 31 import org.apache.jetspeed.services.JetspeedUserManagement; 32 import org.apache.jetspeed.om.security.JetspeedUser; 33 import org.apache.jetspeed.om.security.JetspeedUserFactory; 34 import org.apache.jetspeed.om.security.UserNamePrincipal; 35 36 42 43 public class TestUserManagement extends JetspeedTestCase { 44 45 50 public TestUserManagement( String name ) { 51 super( name ); 52 } 53 54 59 public static void main(String args[]) 60 { 61 junit.awtui.TestRunner.main( new String [] { TestUserManagement.class.getName() } ); 62 } 63 64 public void setup() 65 { 66 System.out.println("Setup: Testing Turbine User Management"); 67 } 68 69 75 public static Test suite() 76 { 77 return new TestSuite( TestUserManagement.class ); 79 } 80 81 82 86 87 public void testGetUser() throws Exception 88 { 89 setup(); 90 91 UserManagement service = getService(); 92 JetspeedUser user = null; 93 try 94 { 95 user = JetspeedUserManagement.getUser(new UserNamePrincipal("turbine")); 96 } 97 catch (Exception e) 98 { 99 fail(StringUtils.stackTrace(e)); 100 } 101 assertNotNull(user); 102 assertTrue(user.getUserId().equals("2")); 103 assertTrue(user.getUserName().equals("turbine")); 104 assertTrue(user.getFirstName().equals("Tommy")); 105 assertTrue(user.getLastName().equals("Turbine")); 106 assertTrue(user.getEmail().equals("tommy@jakarta-jetspeed.com")); 107 assertTrue(user.getConfirmed().equals("CONFIRMED")); 108 assertTrue(user.getDisabled() == false); 109 subtestTemp(user); 110 111 try 112 { 113 JetspeedUserManagement.getUser(new UserNamePrincipal("nobody")); 114 } 115 catch (Exception e) 116 { 117 System.out.println("CAUGHT GETUSER EXCEPTION: " + e.toString()); 118 assertTrue(e instanceof UnknownUserException); 119 } 120 121 System.out.println("Completed getUser Test OK "); 122 123 } 124 125 129 130 public void testGetUsers() throws Exception 131 { 132 setup(); 133 134 UserManagement service = getService(); 135 JetspeedUser user = null; 136 137 try 138 { 139 Iterator users = JetspeedUserManagement.getUsers(); 140 while (users.hasNext()) 141 { 142 user = (JetspeedUser)users.next(); 143 if (user.getUserName().equals("turbine")) 145 { 146 assertTrue(user.getUserId().equals("2")); 147 assertTrue(user.getLastName().equals("Turbine")); 148 } 149 if (user.getUserName().equals("admin")) 150 { 151 assertTrue(user.getUserId().equals("1")); 152 assertTrue(user.getLastName().equals("Admin")); 153 } 154 } 155 } 156 catch (Exception e) 157 { 158 fail(StringUtils.stackTrace(e)); 159 } 160 161 System.out.println("Completed getUsers Test OK "); 162 163 } 164 165 166 static final String TEMP_LAST_NAME = "UnitTestLastName"; 167 168 172 173 public void testSaveUser() throws Exception 174 { 175 setup(); 176 177 UserManagement service = getService(); 178 JetspeedUser user = null; 179 180 try 181 { 182 user = JetspeedUserManagement.getUser(new UserNamePrincipal("turbine")); 184 String lastName = user.getLastName(); 185 user.setLastName(TEMP_LAST_NAME); 186 user.setDisabled(true); 187 188 JetspeedUserManagement.saveUser(user); 189 JetspeedUser user2 = JetspeedUserManagement.getUser(new UserNamePrincipal("turbine")); 190 assertTrue(user2.getLastName().equals(TEMP_LAST_NAME)); 191 assertTrue(user2.getDisabled() == true); 192 193 user2.setLastName(lastName); 194 user2.setDisabled(false); 195 JetspeedUserManagement.saveUser(user2); 196 JetspeedUser user3 = JetspeedUserManagement.getUser(new UserNamePrincipal("turbine")); 197 assertTrue(user3.getLastName().equals(lastName)); 198 assertTrue(user3.getDisabled() == false); 199 200 user3.setPerm("unittest", "test"); 202 JetspeedUserManagement.saveUser(user3); 203 JetspeedUser user4 = JetspeedUserManagement.getUser(new UserNamePrincipal("turbine")); 204 String unitTestValue = (String )user4.getPerm("unittest"); 205 assertTrue(unitTestValue.equals("test")); 206 user4.setPerm("unittest", null); 207 JetspeedUserManagement.saveUser(user4); 208 209 try 211 { 212 JetspeedUser user5 = JetspeedUserFactory.getInstance(); 213 user5.setLastName("junk"); 214 JetspeedUserManagement.saveUser(user5); 215 } 216 catch (Exception e) 217 { 218 assertTrue(e instanceof UnknownUserException); 219 } 220 221 JetspeedUser user6 = JetspeedUserManagement.getUser(new UserNamePrincipal("turbine")); 223 user6.setUserName("admin"); 224 try 225 { 226 JetspeedUserManagement.saveUser(user6); 227 } 228 catch (Exception e) 229 { 230 System.out.println("CAUGHT UNIQUE EXCEPTION: " + e.toString()); 231 assertTrue(e instanceof UserException); 232 } 233 234 } 235 catch (Exception e) 236 { 237 fail(StringUtils.stackTrace(e)); 238 } 239 240 System.out.println("Completed saveUser Test OK "); 241 242 } 243 244 248 249 public void testAddUser() throws Exception 250 { 251 setup(); 252 253 UserManagement service = getService(); 254 255 try 256 { 257 JetspeedUser user = JetspeedUserFactory.getInstance(); 259 user.setUserName("busby"); 260 user.setPassword("woof"); 261 user.setLastName("Taylor"); 262 user.setFirstName("Busby"); 263 user.setEmail("busby@jakarta-jetspeed.com"); 264 user.setDisabled(false); 265 user.setConfirmed("NO"); 266 user.setPerm("dogfood", "alpo"); 267 JetspeedUserManagement.addUser(user); 268 269 JetspeedUser user2 = JetspeedUserManagement.getUser(new UserNamePrincipal("busby")); 270 assertTrue(user2.getUserName().equals("busby")); 271 assertTrue(user2.getLastName().equals("Taylor")); 272 assertTrue(user2.getFirstName().equals("Busby")); 273 assertTrue(user2.getEmail().equals("busby@jakarta-jetspeed.com")); 274 assertTrue(user2.getConfirmed().equals("NO")); 275 String dogfood = (String )user2.getPerm("dogfood"); 276 assertTrue(dogfood.equals("alpo")); 277 assertTrue(user2.getDisabled() == false); 278 assertTrue(user2.getUserId().equals(user.getUserId())); 279 280 JetspeedUser user3 = JetspeedUserFactory.getInstance(); 282 user3.setUserName("busby"); 283 try 284 { 285 JetspeedUserManagement.addUser(user3); 286 } 287 catch (Exception e) 288 { 289 System.out.println("CAUGHT UNIQUE EXCEPTION: " + e.toString()); 290 assertTrue(e instanceof NotUniqueUserException); 291 } 292 293 294 } 295 catch (Exception e) 296 { 297 fail(StringUtils.stackTrace(e)); 298 } 299 300 System.out.println("Completed saveUser Test OK "); 301 302 } 303 304 308 309 public void testRemoveUser() throws Exception 310 { 311 setup(); 312 313 UserManagement service = getService(); 314 315 try 316 { 317 JetspeedUserManagement.removeUser(new UserNamePrincipal("busby")); 319 320 try 321 { 322 JetspeedUserManagement.removeUser(new UserNamePrincipal("nobody")); 323 } 324 catch (Exception e) 325 { 326 System.out.println("CAUGHT REMOVE EXCEPTION: " + e.toString()); 327 assertTrue(e instanceof UnknownUserException); 328 } 329 330 try 331 { 332 JetspeedUserManagement.getUser(new UserNamePrincipal("busby")); 333 } 334 catch (Exception e) 335 { 336 System.out.println("CAUGHT REMOVE EXCEPTION: " + e.toString()); 337 assertTrue(e instanceof UnknownUserException); 338 } 339 340 341 } 342 catch (Exception e) 343 { 344 fail(StringUtils.stackTrace(e)); 345 } 346 347 System.out.println("Completed saveUser Test OK "); 348 349 } 350 351 private void subtestTemp(JetspeedUser user) 352 { 353 user.setTemp("test", new Integer (9)); 354 Integer test = (Integer )user.getTemp("test"); 355 assertTrue(test.intValue() == 9); 356 } 357 358 362 private static TurbineConfig config = null; 363 364 368 static 369 { 370 try 371 { 372 config = new TurbineConfig( "webapp", "/WEB-INF/conf/TurbineResources.properties"); 373 config.init(); 374 } 375 catch (Exception e) 376 { 377 fail(StringUtils.stackTrace(e)); 378 } 379 } 380 381 private static UserManagement getService() 382 { 383 return (UserManagement)TurbineServices 384 .getInstance() 385 .getService(UserManagement.SERVICE_NAME); 386 } 387 388 } 389 390 391 392 393 | Popular Tags |