OpenDaylight Controller functional modules.
[controller.git] / opendaylight / usermanager / src / test / java / org / opendaylight / controller / usermanager / internal / AuthorizationUserConfigTest.java
diff --git a/opendaylight/usermanager/src/test/java/org/opendaylight/controller/usermanager/internal/AuthorizationUserConfigTest.java b/opendaylight/usermanager/src/test/java/org/opendaylight/controller/usermanager/internal/AuthorizationUserConfigTest.java
new file mode 100644 (file)
index 0000000..12c7690
--- /dev/null
@@ -0,0 +1,102 @@
+/*
+ * 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);
+       }
+}