Merge "Controller to listen to expired flow removal message - Added plugin-to-FM...
[controller.git] / opendaylight / usermanager / src / test / java / org / opendaylight / controller / usermanager / internal / AuthorizationUserConfigTest.java
1 /*
2  * Copyright (c) 2013 Cisco Systems, Inc. and others.  All rights reserved.
3  *
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
7  */
8 package org.opendaylight.controller.usermanager.internal;
9
10 import static org.junit.Assert.assertEquals;
11 import static org.junit.Assert.assertFalse;
12 import static org.junit.Assert.assertTrue;
13
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;
18
19 /*
20  * This test case includes tests for UserConfig and the extending class AuthorizationConfig
21  */
22 public class AuthorizationUserConfigTest {
23
24         @Test
25         public void AuthorizationConfigTest() {
26                 AuthorizationConfig authConfig;
27
28                 // test isValid
29                 authConfig = new AuthorizationConfig(null,
30                                 UserLevel.SYSTEMADMIN.toString());
31                 assertFalse(authConfig.isValid());
32                 authConfig = new AuthorizationConfig("admin", "");
33                 assertFalse(authConfig.isValid());
34                 authConfig = new AuthorizationConfig("admin",
35                                 UserLevel.SYSTEMADMIN.toString());
36                 assertTrue(authConfig.isValid());               
37         }
38
39         @Test
40         public void UserConfigTest() {
41                 UserConfig userConfig;
42
43                 userConfig = new UserConfig(null, "cisco",
44                                 UserLevel.NETWORKOPERATOR.toString());
45                 assertFalse(userConfig.isValid());
46
47                 userConfig = new UserConfig("uname", "", "cisco");
48                 assertFalse(userConfig.isValid());
49
50                 userConfig = new UserConfig("uname", "ciscocisco",
51                                 UserLevel.NETWORKOPERATOR.toString());
52                 assertTrue(userConfig.isValid());
53
54                 /* currentPassword mismatch */
55                 assertFalse(userConfig.update("Cisco", "cisco123",
56                                 UserLevel.NETWORKOPERATOR.toString()));
57
58                 assertTrue(userConfig.update("ciscocisco", null,
59                                 UserLevel.NETWORKOPERATOR.toString()));
60                 /* New Password = null, No change in password */
61                 assertTrue(userConfig.getPassword().equals("ciscocisco"));
62
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()));
69
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()));
76
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()));
83
84                 String username = userConfig.getUser();
85                 assertTrue(username.equals("uname"));
86
87                 // test authenticate
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));
92
93                 // test equals()
94                 userConfig = new UserConfig("uname", "ciscocisco",
95                                 UserLevel.NETWORKOPERATOR.toString());
96                 assertEquals(userConfig, userConfig);
97                 UserConfig userConfig2 = new UserConfig("uname",
98                                 "ciscocisco",
99                                 UserLevel.NETWORKOPERATOR.toString());
100                 assertEquals(userConfig, userConfig2);
101         }
102 }