2 * Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
8 package org.opendaylight.controller.usermanager.internal;
10 import static org.junit.Assert.assertEquals;
11 import static org.junit.Assert.assertFalse;
12 import static org.junit.Assert.assertTrue;
14 import org.junit.Test;
15 import org.opendaylight.controller.sal.authorization.AuthResultEnum;
16 import org.opendaylight.controller.sal.authorization.UserLevel;
17 import org.opendaylight.controller.usermanager.AuthResponse;
20 * This test case includes tests for UserConfig and the extending class AuthorizationConfig
22 public class AuthorizationUserConfigTest {
25 public void AuthorizationConfigTest() {
26 AuthorizationConfig authConfig;
29 authConfig = new AuthorizationConfig(null,
30 UserLevel.SYSTEMADMIN.toString());
31 assertFalse(authConfig.validate().isSuccess());
32 authConfig = new AuthorizationConfig("admin", "");
33 assertFalse(authConfig.validate().isSuccess());
34 authConfig = new AuthorizationConfig("admin",
35 UserLevel.SYSTEMADMIN.toString());
36 assertTrue(authConfig.validate().isSuccess());
40 public void UserConfigTest() {
41 UserConfig userConfig;
43 userConfig = new UserConfig(null, "cisco",
44 UserLevel.NETWORKOPERATOR.toString());
45 assertFalse(userConfig.validate().isSuccess());
47 userConfig = new UserConfig("uname", "", "cisco");
48 assertFalse(userConfig.validate().isSuccess());
50 userConfig = new UserConfig("uname", "ciscocisco",
51 UserLevel.NETWORKOPERATOR.toString());
52 assertTrue(userConfig.validate().isSuccess());
54 /* currentPassword mismatch */
55 assertFalse(userConfig.update("Cisco", "cisco123",
56 UserLevel.NETWORKOPERATOR.toString()));
58 assertTrue(userConfig.update("ciscocisco", null,
59 UserLevel.NETWORKOPERATOR.toString()));
60 /* New Password = null, No change in password */
61 assertTrue(userConfig.getPassword().equals("ciscocisco"));
63 /* Password changed successfully, no change in user role */
64 assertTrue(userConfig.update("ciscocisco", "cisco123",
65 UserLevel.NETWORKOPERATOR.toString()));
66 assertTrue(userConfig.getPassword().equals("cisco123"));
67 assertTrue(userConfig.getRole().equals(
68 UserLevel.NETWORKOPERATOR.toString()));
70 /* Password not changed, role changed successfully */
71 assertTrue(userConfig.update("cisco123", "cisco123",
72 UserLevel.SYSTEMADMIN.toString()));
73 assertTrue(userConfig.getPassword().equals("cisco123"));
74 assertTrue(userConfig.getRole()
75 .equals(UserLevel.SYSTEMADMIN.toString()));
77 /* Password and role changed successfully */
78 assertTrue(userConfig.update("cisco123", "ciscocisco",
79 UserLevel.SYSTEMADMIN.toString()));
80 assertTrue(userConfig.getPassword().equals("ciscocisco"));
81 assertTrue(userConfig.getRole()
82 .equals(UserLevel.SYSTEMADMIN.toString()));
84 String username = userConfig.getUser();
85 assertTrue(username.equals("uname"));
88 AuthResponse authresp = userConfig.authenticate("ciscocisco");
89 assertTrue(authresp.getStatus().equals(AuthResultEnum.AUTH_ACCEPT_LOC));
90 authresp = userConfig.authenticate("wrongPassword");
91 assertTrue(authresp.getStatus().equals(AuthResultEnum.AUTH_REJECT_LOC));
94 userConfig = new UserConfig("uname", "ciscocisco",
95 UserLevel.NETWORKOPERATOR.toString());
96 assertEquals(userConfig, userConfig);
97 UserConfig userConfig2 = new UserConfig("uname", "ciscocisco",
98 UserLevel.NETWORKOPERATOR.toString());
99 assertEquals(userConfig, userConfig2);