X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fusermanager%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fusermanager%2Finternal%2FUserManagerImplTest.java;fp=opendaylight%2Fusermanager%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fusermanager%2Finternal%2FUserManagerImplTest.java;h=626011bd695fc0288f9a064ac682df75cea17e8b;hp=ec7b13603943cd348b3393a94a66749fdc608cba;hb=074d2ad908fcdd5f395a8c918444b47619cc9194;hpb=01d802948b3598b8757fcca666013cafa38fe4b6 diff --git a/opendaylight/usermanager/src/test/java/org/opendaylight/controller/usermanager/internal/UserManagerImplTest.java b/opendaylight/usermanager/src/test/java/org/opendaylight/controller/usermanager/internal/UserManagerImplTest.java index ec7b136039..626011bd69 100644 --- a/opendaylight/usermanager/src/test/java/org/opendaylight/controller/usermanager/internal/UserManagerImplTest.java +++ b/opendaylight/usermanager/src/test/java/org/opendaylight/controller/usermanager/internal/UserManagerImplTest.java @@ -1,4 +1,3 @@ - /* * Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved. * @@ -13,7 +12,8 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; -import java.util.Date; +import java.util.ArrayList; +import java.util.List; import java.util.concurrent.ConcurrentHashMap; import org.junit.Assert; @@ -31,218 +31,229 @@ import org.opendaylight.controller.usermanager.IUserManager; */ public class UserManagerImplTest { - private static UserManagerImpl um; - - /** - * @throws java.lang.Exception - */ - @BeforeClass - public static void setUpBeforeClass() throws Exception { - - IUserManager userManager = (IUserManager) ServiceHelper - .getGlobalInstance(IUserManager.class, new Object()); - if (userManager instanceof UserManagerImpl) { - um = (UserManagerImpl) userManager; - } else { - um = new UserManagerImpl(); - um.setAuthProviders(new ConcurrentHashMap()); - - // mock up a remote server list with a dummy server - um.setRemoteServerConfigList(new ConcurrentHashMap() { - static final long serialVersionUID = 1L; - { - put("dummyServerConfig", new ServerConfig() { // Server config can't be empty - static final long serialVersionUID = 8645L; - - public String getAddress() { - return "1.1.1.1"; - } - - public String getSecret() { - return "secret"; - } - - public String getProtocol() { - return "IPv4"; - } - }); - } - }); - - // mock up a localUserConfigList with an admin user - um.setLocalUserConfigList(new ConcurrentHashMap() { - static final long serialVersionUID = 2L; - { - put("admin", new UserConfig("admin", "7029,7455,8165,7029,7881", - UserLevel.SYSTEMADMIN.toString())); - } - }); - // instantiate an empty activeUser collection - um.setActiveUsers(new ConcurrentHashMap()); - - } - - } - - /** - * Test method for - * {@link org.opendaylight.controller.usermanager.internal.UserManagerImpl#addAAAProvider(org.opendaylight.controller.usermanager.IAAAProvider)} - * . - */ - @Test - public void testAddAAAProvider() { - // instantiate an anonymous AAAProvider - IAAAProvider a3p = new IAAAProvider() { - - public AuthResponse authService(String userName, String password, - String server, String secretKey) { - return new AuthResponse(); - }; - - public String getName() { - return "dummyAAAProvider"; - } - }; - - um.addAAAProvider(a3p); - assertEquals(a3p, um.getAAAProvider("dummyAAAProvider")); - - } - - /** - * Test method for - * {@link org.opendaylight.controller.usermanager.internal.UserManagerImpl#removeAAAProvider(org.opendaylight.controller.usermanager.IAAAProvider)} - * and for for - * {@link org.opendaylight.controller.usermanager.internal.UserManagerImpl#getAAAProvider(java.lang.String)} - * . - */ - @Test - public void testRemoveAAAProvider() { - um.removeAAAProvider(um.getAAAProvider("dummyAAAProvider")); - assertTrue(um.getAAAProviderNames().isEmpty()); - } - - /** - * Test method for - * {@link org.opendaylight.controller.usermanager.internal.UserManagerImpl#authenticate(java.lang.String, java.lang.String)} - * . - */ - @Test - public void testAuthenticateStringString() { - UserConfig uc = new UserConfig("administrator", "admin", - UserLevel.SYSTEMADMIN.toString()); - um.addLocalUser(uc); - AuthResultEnum authResult = um.authenticate("administrator", "admin"); - assertEquals(authResult, AuthResultEnum.AUTH_ACCEPT_LOC); - } - - /** - * Test method for - * {@link org.opendaylight.controller.usermanager.internal.UserManagerImpl#addRemoveLocalUser(org.opendaylight.controller.usermanager.internal.UserConfig, boolean)} - * . - */ - @Test - public void testAddRemoveLocalUser() { - UserConfig uc = new UserConfig("sysadmin", "7029,7455,8165,7029,7881", - UserLevel.SYSTEMADMIN.toString()); - um.addLocalUser(uc); - assertTrue(um.getLocalUserList().contains(uc)); - um.removeLocalUser(uc); - assertFalse(um.getLocalUserList().contains(uc)); - } - - /** - * Test method for - * {@link org.opendaylight.controller.usermanager.internal.UserManagerImpl#changeLocalUserPassword(java.lang.String, java.lang.String, java.lang.String)} - * . - */ - @Test - public void testChangeLocalUserPassword() { - // fail("Not yet implemented"); - } - - /** - * Test method for - * {@link org.opendaylight.controller.usermanager.internal.UserManagerImpl#userLogout(java.lang.String)} - * . - */ - @Test - public void testUserLogout() { - // fail("Not yet implemented"); - } - - /** - * Test method for - * {@link org.opendaylight.controller.usermanager.internal.UserManagerImpl#userTimedOut(java.lang.String)} - * . - */ - @Test - public void testUserTimedOut() { - // fail("Not yet implemented"); - } - - /** - * Test method for - * {@link org.opendaylight.controller.usermanager.internal.UserManagerImpl#authenticate(org.springframework.security.core.Authentication)} - * . - */ - @Test - public void testAuthenticateAuthentication() { - // fail("Not yet implemented"); - } - - /** - * Test method for - * {@link org.opendaylight.controller.usermanager.internal.UserManagerImpl#saveLocalUserList()} - * . - */ - @Test - public void testSaveLocalUserList() { - // fail("Not yet implemented"); - } - - /** - * Test method for - * {@link org.opendaylight.controller.usermanager.internal.UserManagerImpl#saveAAAServerList()} - * . - */ - @Test - public void testSaveAAAServerList() { - // fail("Not yet implemented"); - } - - /** - * Test method for - * {@link org.opendaylight.controller.usermanager.internal.UserManagerImpl#saveAuthorizationList()} - * . - */ - @Test - public void testSaveAuthorizationList() { - // fail("Not yet implemented"); - } - - /** - * Test method for - * {@link org.opendaylight.controller.usermanager.internal.UserManagerImpl#readObject(java.io.ObjectInputStream)} - * . - */ - @Test - public void testReadObject() { - // fail("Not yet implemented"); - } - - @Test - public void testGetUserLevel() { - um.addLocalUser(new UserConfig("Jack", "password", - UserLevel.SYSTEMADMIN.toString())); - um.authenticate("Jack", "password"); - - um.addLocalUser(new UserConfig("John", "password", - UserLevel.NETWORKOPERATOR.toString())); - // Run the check on authenticated user - Assert.assertTrue(um.getUserLevel("Jack") == UserLevel.SYSTEMADMIN); - // Run the check on configured users - Assert.assertTrue(um.getUserLevel("John") == UserLevel.NETWORKOPERATOR); - Assert.assertTrue(um.getUserLevel("Andrew") == UserLevel.NOUSER); - } + private static UserManagerImpl um; + + /** + * @throws java.lang.Exception + */ + @BeforeClass + public static void setUpBeforeClass() throws Exception { + + IUserManager userManager = (IUserManager) ServiceHelper + .getGlobalInstance(IUserManager.class, new Object()); + if (userManager instanceof UserManagerImpl) { + um = (UserManagerImpl) userManager; + } else { + um = new UserManagerImpl(); + um.setAuthProviders(new ConcurrentHashMap()); + + // mock up a remote server list with a dummy server + um.setRemoteServerConfigList(new ConcurrentHashMap() { + static final long serialVersionUID = 1L; + { + put("dummyServerConfig", new ServerConfig() { + // Server config can't be empty + static final long serialVersionUID = 8645L; + + public String getAddress() { + return "1.1.1.1"; + } + + public String getSecret() { + return "secret"; + } + + public String getProtocol() { + return "IPv4"; + } + }); + } + }); + + // mock up a localUserConfigList with an admin user + um.setLocalUserConfigList(new ConcurrentHashMap() { + static final long serialVersionUID = 2L; + { + List roles = new ArrayList(1); + roles.add(UserLevel.SYSTEMADMIN.toString()); + put("admin", new UserConfig("admin", + "7029,7455,8165,7029,7881", roles)); + } + }); + // instantiate an empty activeUser collection + um.setActiveUsers(new ConcurrentHashMap()); + + } + + } + + /** + * Test method for + * {@link org.opendaylight.controller.usermanager.internal.UserManagerImpl#addAAAProvider(org.opendaylight.controller.usermanager.IAAAProvider)} + * . + */ + @Test + public void testAddAAAProvider() { + // instantiate an anonymous AAAProvider + IAAAProvider a3p = new IAAAProvider() { + + public AuthResponse authService(String userName, String password, + String server, String secretKey) { + return new AuthResponse(); + }; + + public String getName() { + return "dummyAAAProvider"; + } + }; + + um.addAAAProvider(a3p); + assertEquals(a3p, um.getAAAProvider("dummyAAAProvider")); + + } + + /** + * Test method for + * {@link org.opendaylight.controller.usermanager.internal.UserManagerImpl#removeAAAProvider(org.opendaylight.controller.usermanager.IAAAProvider)} + * and for for + * {@link org.opendaylight.controller.usermanager.internal.UserManagerImpl#getAAAProvider(java.lang.String)} + * . + */ + @Test + public void testRemoveAAAProvider() { + um.removeAAAProvider(um.getAAAProvider("dummyAAAProvider")); + assertTrue(um.getAAAProviderNames().isEmpty()); + } + + /** + * Test method for + * {@link org.opendaylight.controller.usermanager.internal.UserManagerImpl#authenticate(java.lang.String, java.lang.String)} + * . + */ + @Test + public void testAuthenticateStringString() { + List roles = new ArrayList(1); + roles.add(UserLevel.SYSTEMADMIN.toString()); + UserConfig uc = new UserConfig("administrator", "admin", roles); + um.addLocalUser(uc); + AuthResultEnum authResult = um.authenticate("administrator", "admin"); + assertEquals(authResult, AuthResultEnum.AUTH_ACCEPT_LOC); + } + + /** + * Test method for + * {@link org.opendaylight.controller.usermanager.internal.UserManagerImpl#addRemoveLocalUser(org.opendaylight.controller.usermanager.internal.UserConfig, boolean)} + * . + */ + @Test + public void testAddRemoveLocalUser() { + List roles = new ArrayList(1); + roles.add(UserLevel.SYSTEMADMIN.toString()); + UserConfig uc = new UserConfig("sysadmin", "7029,7455,8165,7029,7881", + roles); + um.addLocalUser(uc); + assertTrue(um.getLocalUserList().contains(uc)); + um.removeLocalUser(uc); + assertFalse(um.getLocalUserList().contains(uc)); + } + + /** + * Test method for + * {@link org.opendaylight.controller.usermanager.internal.UserManagerImpl#changeLocalUserPassword(java.lang.String, java.lang.String, java.lang.String)} + * . + */ + @Test + public void testChangeLocalUserPassword() { + // fail("Not yet implemented"); + } + + /** + * Test method for + * {@link org.opendaylight.controller.usermanager.internal.UserManagerImpl#userLogout(java.lang.String)} + * . + */ + @Test + public void testUserLogout() { + // fail("Not yet implemented"); + } + + /** + * Test method for + * {@link org.opendaylight.controller.usermanager.internal.UserManagerImpl#userTimedOut(java.lang.String)} + * . + */ + @Test + public void testUserTimedOut() { + // fail("Not yet implemented"); + } + + /** + * Test method for + * {@link org.opendaylight.controller.usermanager.internal.UserManagerImpl#authenticate(org.springframework.security.core.Authentication)} + * . + */ + @Test + public void testAuthenticateAuthentication() { + // fail("Not yet implemented"); + } + + /** + * Test method for + * {@link org.opendaylight.controller.usermanager.internal.UserManagerImpl#saveLocalUserList()} + * . + */ + @Test + public void testSaveLocalUserList() { + // fail("Not yet implemented"); + } + + /** + * Test method for + * {@link org.opendaylight.controller.usermanager.internal.UserManagerImpl#saveAAAServerList()} + * . + */ + @Test + public void testSaveAAAServerList() { + // fail("Not yet implemented"); + } + + /** + * Test method for + * {@link org.opendaylight.controller.usermanager.internal.UserManagerImpl#saveAuthorizationList()} + * . + */ + @Test + public void testSaveAuthorizationList() { + // fail("Not yet implemented"); + } + + /** + * Test method for + * {@link org.opendaylight.controller.usermanager.internal.UserManagerImpl#readObject(java.io.ObjectInputStream)} + * . + */ + @Test + public void testReadObject() { + // fail("Not yet implemented"); + } + + @Test + public void testGetUserLevel() { + List roles = new ArrayList(2); + roles.add(UserLevel.SYSTEMADMIN.toString()); + roles.add("App1_supervisor"); + um.addLocalUser(new UserConfig("Jack", "password", roles)); + um.authenticate("Jack", "password"); + + roles.clear(); + roles.add("App2Admin"); + roles.add(UserLevel.NETWORKOPERATOR.toString()); + um.addLocalUser(new UserConfig("John", "password", roles)); + + // Run the check on authenticated user + Assert.assertTrue(um.getUserLevel("Jack") == UserLevel.SYSTEMADMIN); + // Run the check on configured users + Assert.assertTrue(um.getUserLevel("John") == UserLevel.NETWORKOPERATOR); + Assert.assertTrue(um.getUserLevel("Andrew") == UserLevel.NOUSER); + } }