/* * Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ package org.opendaylight.controller.usermanager.internal; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; import org.junit.Test; import org.opendaylight.controller.sal.authorization.AuthResultEnum; import org.opendaylight.controller.sal.authorization.UserLevel; import org.opendaylight.controller.usermanager.AuthResponse; /* * This test case includes tests for UserConfig and the extending class AuthorizationConfig */ public class AuthorizationUserConfigTest { @Test public void AuthorizationConfigTest() { AuthorizationConfig authConfig; // test isValid authConfig = new AuthorizationConfig(null, UserLevel.SYSTEMADMIN.toString()); assertFalse(authConfig.isValid()); authConfig = new AuthorizationConfig("admin", ""); assertFalse(authConfig.isValid()); authConfig = new AuthorizationConfig("admin", UserLevel.SYSTEMADMIN.toString()); assertTrue(authConfig.isValid()); } @Test public void UserConfigTest() { UserConfig userConfig; userConfig = new UserConfig(null, "cisco", UserLevel.NETWORKOPERATOR.toString()); assertFalse(userConfig.isValid()); userConfig = new UserConfig("uname", "", "cisco"); assertFalse(userConfig.isValid()); userConfig = new UserConfig("uname", "ciscocisco", UserLevel.NETWORKOPERATOR.toString()); assertTrue(userConfig.isValid()); /* currentPassword mismatch */ assertFalse(userConfig.update("Cisco", "cisco123", UserLevel.NETWORKOPERATOR.toString())); assertTrue(userConfig.update("ciscocisco", null, UserLevel.NETWORKOPERATOR.toString())); /* New Password = null, No change in password */ assertTrue(userConfig.getPassword().equals("ciscocisco")); /* Password changed successfully, no change in user role */ assertTrue(userConfig.update("ciscocisco", "cisco123", UserLevel.NETWORKOPERATOR.toString())); assertTrue(userConfig.getPassword().equals("cisco123")); assertTrue(userConfig.getRole().equals( UserLevel.NETWORKOPERATOR.toString())); /* Password not changed, role changed successfully */ assertTrue(userConfig.update("cisco123", "cisco123", UserLevel.SYSTEMADMIN.toString())); assertTrue(userConfig.getPassword().equals("cisco123")); assertTrue(userConfig.getRole() .equals(UserLevel.SYSTEMADMIN.toString())); /* Password and role changed successfully */ assertTrue(userConfig.update("cisco123", "ciscocisco", UserLevel.SYSTEMADMIN.toString())); assertTrue(userConfig.getPassword().equals("ciscocisco")); assertTrue(userConfig.getRole() .equals(UserLevel.SYSTEMADMIN.toString())); String username = userConfig.getUser(); assertTrue(username.equals("uname")); // test authenticate AuthResponse authresp = userConfig.authenticate("ciscocisco"); assertTrue(authresp.getStatus().equals(AuthResultEnum.AUTH_ACCEPT_LOC)); authresp = userConfig.authenticate("wrongPassword"); assertTrue(authresp.getStatus().equals(AuthResultEnum.AUTH_REJECT_LOC)); // test equals() userConfig = new UserConfig("uname", "ciscocisco", UserLevel.NETWORKOPERATOR.toString()); assertEquals(userConfig, userConfig); UserConfig userConfig2 = new UserConfig("uname", "ciscocisco", UserLevel.NETWORKOPERATOR.toString()); assertEquals(userConfig, userConfig2); } }