You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ace.apache.org by br...@apache.org on 2013/06/03 11:57:17 UTC

svn commit: r1488946 - in /ace/trunk/org.apache.ace.useradmin.ui.itest: bnd.bnd conf/ src/org/apache/ace/useradmin/ui/test/UserEditorTest.java

Author: bramk
Date: Mon Jun  3 09:57:16 2013
New Revision: 1488946

URL: http://svn.apache.org/r1488946
Log:
ACE-339 Cleaned up useradmin.ui.itest / Decoupled from file based conf

Removed:
    ace/trunk/org.apache.ace.useradmin.ui.itest/conf/
Modified:
    ace/trunk/org.apache.ace.useradmin.ui.itest/bnd.bnd
    ace/trunk/org.apache.ace.useradmin.ui.itest/src/org/apache/ace/useradmin/ui/test/UserEditorTest.java

Modified: ace/trunk/org.apache.ace.useradmin.ui.itest/bnd.bnd
URL: http://svn.apache.org/viewvc/ace/trunk/org.apache.ace.useradmin.ui.itest/bnd.bnd?rev=1488946&r1=1488945&r2=1488946&view=diff
==============================================================================
--- ace/trunk/org.apache.ace.useradmin.ui.itest/bnd.bnd (original)
+++ ace/trunk/org.apache.ace.useradmin.ui.itest/bnd.bnd Mon Jun  3 09:57:16 2013
@@ -2,73 +2,48 @@ Test-Cases: ${classes;CONCRETE;EXTENDS;o
 Private-Package: org.apache.ace.useradmin.ui.test
 -runvm: -ea
 -runfw: org.apache.felix.framework;version='[4.0.3,4.0.3]'
--runbundles: \
-	osgi.cmpn,\
+-runbundles: osgi.cmpn,\
 	com.vaadin,\
 	org.apache.felix.configadmin,\
 	org.apache.felix.dependencymanager,\
-	org.apache.felix.dependencymanager.shell,\
 	org.apache.felix.eventadmin,\
-	org.apache.felix.gogo.command,\
-	org.apache.felix.gogo.runtime,\
-	org.apache.felix.gogo.shell,\
 	org.apache.felix.http.jetty,\
 	org.apache.felix.log,\
 	org.apache.felix.prefs,\
 	org.apache.felix.useradmin,\
 	org.apache.felix.useradmin.filestore,\
-	org.apache.ace.authentication.api;version=latest,\
-	org.apache.ace.authentication.impl;version=latest,\
-	org.apache.ace.authentication.processor.password;version=latest,\
-	org.apache.ace.authentication.processor.basicauth;version=latest,\
 	org.apache.ace.client.repository.api;version=latest,\
 	org.apache.ace.client.repository.helper.base;version=latest,\
 	org.apache.ace.client.repository.helper.bundle;version=latest,\
 	org.apache.ace.client.repository.helper.configuration;version=latest,\
 	org.apache.ace.client.repository.impl;version=latest,\
-	org.apache.ace.client.rest;version=latest,\
-	org.apache.ace.configurator.serveruseradmin;version=latest,\
-	org.apache.ace.configurator.useradmin.task;version=latest,\
-	org.apache.ace.configurator.impl;version=latest,\
 	org.apache.ace.connectionfactory;version=latest,\
-	org.apache.ace.consolelogger;version=latest,\
 	org.apache.ace.deployment.provider.api;version=latest,\
-	org.apache.ace.deployment.provider.repositorybased;version=latest,\
-	org.apache.ace.deployment.servlet;version=latest,\
-	org.apache.ace.deployment.streamgenerator;version=latest,\
-	org.apache.ace.verifier.ui;version=latest,\
-	org.apache.ace.verifier.impl;version=latest,\
 	org.apache.ace.discovery.api;version=latest,\
 	org.apache.ace.http.listener;version=latest,\
 	org.apache.ace.log.api;version=latest,\
 	org.apache.ace.log.server.servlet;version=latest,\
-	org.apache.ace.nodelauncher.amazon;version=latest,\
-	org.apache.ace.nodelauncher.api;version=latest,\
-	org.apache.ace.nodelauncher.ui;version=latest,\
-	org.apache.ace.obr.metadata;version=latest,\
-	org.apache.ace.obr.servlet;version=latest,\
-	org.apache.ace.obr.storage;version=latest,\
 	org.apache.ace.range.api;version=latest,\
 	org.apache.ace.repository.api;version=latest,\
 	org.apache.ace.repository.impl;version=latest,\
 	org.apache.ace.repository.servlet;version=latest,\
 	org.apache.ace.resourceprocessor.useradmin;version=latest,\
 	org.apache.ace.scheduler.impl;version=latest,\
-	org.apache.ace.log.server.store.api;version=latest,\
-	org.apache.ace.log.server.store.file;version=latest,\
-	org.apache.ace.log.server.ui;version=latest,\
-	org.apache.ace.tageditor;version=latest,\
-	org.apache.ace.target.mgmt.ui;version=latest,\
 	org.apache.ace.test;version=latest,\
 	org.apache.ace.useradmin.ui;version=latest,\
-	org.apache.ace.webui.vaadin;version=latest
+	org.apache.ace.webui.vaadin;version=latest,\
+	org.apache.ace.configurator.useradmin.task;version=latest,\
+	org.apache.ace.authentication.api;version=latest,\
+	org.apache.ace.log.server.store.api;version=latest
 -buildpath: osgi.core;version='[4.1,5)',\
 	osgi.cmpn,\
 	junit.osgi,\
 	org.mockito.mockito-all,\
 	org.apache.felix.dependencymanager,\
 	org.apache.ace.test;version=latest,\
-	org.apache.ace.useradmin.ui;version=latest
+	org.apache.ace.useradmin.ui;version=latest,\
+	org.apache.ace.repository.api;version=latest,\
+	org.apache.ace.range.api;version=latest
 -runsystempackages: sun.reflect
 -runproperties: org.apache.felix.log.storeDebug=true,\
 	org.apache.felix.eventadmin.Timeout=0,\

Modified: ace/trunk/org.apache.ace.useradmin.ui.itest/src/org/apache/ace/useradmin/ui/test/UserEditorTest.java
URL: http://svn.apache.org/viewvc/ace/trunk/org.apache.ace.useradmin.ui.itest/src/org/apache/ace/useradmin/ui/test/UserEditorTest.java?rev=1488946&r1=1488945&r2=1488946&view=diff
==============================================================================
--- ace/trunk/org.apache.ace.useradmin.ui.itest/src/org/apache/ace/useradmin/ui/test/UserEditorTest.java (original)
+++ ace/trunk/org.apache.ace.useradmin.ui.itest/src/org/apache/ace/useradmin/ui/test/UserEditorTest.java Mon Jun  3 09:57:16 2013
@@ -18,7 +18,10 @@
  */
 package org.apache.ace.useradmin.ui.test;
 
+import java.io.ByteArrayInputStream;
+
 import org.apache.ace.it.IntegrationTestBase;
+import org.apache.ace.repository.Repository;
 import org.apache.ace.useradmin.ui.editor.GroupNotFoundException;
 import org.apache.ace.useradmin.ui.editor.UserAlreadyExistsException;
 import org.apache.ace.useradmin.ui.editor.UserDTO;
@@ -31,23 +34,14 @@ import org.osgi.service.useradmin.User;
 import org.osgi.service.useradmin.UserAdmin;
 
 public class UserEditorTest extends IntegrationTestBase {
-    private volatile UserEditor instance;
-    private volatile UserAdmin useradmin;
-    private static boolean firststart = true;
 
-    public UserEditorTest() {
-    }
-
-    @Override
-    protected void configureProvisionedServices() throws Exception {
-        super.configureProvisionedServices();
-        if (firststart) {
-            Thread.sleep(1000);
-            firststart = false;
-        }
-    }
+    private volatile UserEditor m_userEditor;
+    private volatile Repository m_userRepository;
+    private volatile UserAdmin m_userAdmin;
+    private boolean m_hasBeenSetup = false;
 
     protected org.apache.felix.dm.Component[] getDependencies() {
+
         return new Component[] { createComponent()
             .setImplementation(this)
             .add(createServiceDependency()
@@ -58,73 +52,124 @@ public class UserEditorTest extends Inte
                 .setService(UserAdmin.class)
                 .setRequired(true)
             )
+            .add(createServiceDependency()
+                .setService(Repository.class, "(&(name=users)(customer=apache))")
+                .setRequired(true))
         };
     }
-    
-    // How to test in future? When amount of groups grows, test will fail...
-    // Need something to assert here.
+
+    @Override
+    protected void configureProvisionedServices() throws Exception {
+
+        if (m_hasBeenSetup)
+            return;
+
+        configureFactory("org.apache.ace.server.repository.factory",
+            "name", "users",
+            "customer", "apache",
+            "master", "true");
+        configure("org.apache.ace.configurator.useradmin.task.UpdateUserAdminTask",
+            "repositoryName", "users",
+            "repositoryCustomer", "apache");
+        configure("org.apache.ace.scheduler",
+            "org.apache.ace.configurator.useradmin.task.UpdateUserAdminTask", "100");
+    }
+
+    @Override
+    protected void configureAdditionalServices() throws Exception {
+
+        if (m_hasBeenSetup)
+            return;
+
+        m_hasBeenSetup = true;
+        ByteArrayInputStream bis = new ByteArrayInputStream((
+            "<roles>" +
+                "    <group name=\"TestGroup\">" +
+                "        <properties>" +
+                "            <type>userGroup</type>" +
+                "        </properties>" +
+                "    </group>" +
+                "    <user name=\"TestUser\">" +
+                "        <properties>" +
+                "            <email>testUser@apache.org</email>" +
+                "        </properties>" +
+                "        <credentials>" +
+                "            <password type=\"String\">swordfish</password>" +
+                "            <certificate type=\"byte[]\">42</certificate>" +
+                "        </credentials>" +
+                "        <memberof>TestGroup</memberof>" +
+                "    </user>" +
+                "</roles>").getBytes());
+
+        assertTrue("Committing test user data failed.", m_userRepository.commit(bis, m_userRepository.getRange().getHigh()));
+        User user = (User) m_userAdmin.getRole("TestUser");
+        int count = 0;
+        while ((user == null) && (count < 60)) {
+            Thread.sleep(100);
+            user = (User) m_userAdmin.getRole("TestUser");
+            count++;
+        }
+        assertNotNull("Failed to load the user", user);
+    }
+
     public void testGetGroups() {
-        assertEquals(6, instance.getGroups().size());
+        assertEquals(1, m_userEditor.getGroups().size());
     }
 
-    // How to test in future? When amount of users grows, test will fail...
-    // Need something to assert here.
     public void testGetUsers() {
-        assertEquals(6, instance.getData().size());
+        assertEquals(1, m_userEditor.getData().size());
     }
 
     public void testGetGroupByUser() {
         User newUser = null;
-        Role newRole = useradmin.createRole((String) "Testuser", Role.USER);
-        Group group = (Group) useradmin.getRole("TestGroup");
+        Role newRole = m_userAdmin.createRole((String) "Testuser", Role.USER);
+        Group group = (Group) m_userAdmin.getRole("TestGroup");
         if (newRole != null && group != null) {
             newUser = (User) newRole;
             newUser.getProperties().put("username", "u");
             newUser.getCredentials().put("password", "p");
             group.addMember(newUser);
         }
-        assertEquals(group, instance.getGroup(newUser));
-        useradmin.removeRole("u");
+        assertEquals(group, m_userEditor.getGroup(newUser));
+        m_userAdmin.removeRole("u");
     }
 
     public void testGetGroupByUserNull() {
-        assertNull(instance.getGroup(null));
+        assertNull(m_userEditor.getGroup(null));
     }
 
     public void testAddUserAndRemove() throws Exception {
         UserDTO userDTO = new UserDTO("tran", "tran", "TestGroup");
-        instance.addUser(userDTO);
-        User user = instance.getUser("tran");
+        m_userEditor.addUser(userDTO);
+        User user = m_userEditor.getUser("tran");
         assertEquals("tran", (String) user.getProperties().get("username"));
-        instance.removeUser(userDTO);
+        m_userEditor.removeUser(userDTO);
     }
 
     public void testAddUserWithEmptyUsername() throws Exception {
         try {
             UserDTO userDTO = new UserDTO("", "tran", "TestGroup");
-            instance.addUser(userDTO);
+            m_userEditor.addUser(userDTO);
         }
         catch (IllegalArgumentException ex) {
             assertEquals("Username, password and groupname cannot be null or \"\"", ex.getMessage());
         }
-
     }
 
     public void testAddUserWithNullUsername() throws Exception {
         try {
             UserDTO userDTO = new UserDTO(null, "tran", "TestGroup");
-            instance.addUser(userDTO);
+            m_userEditor.addUser(userDTO);
         }
         catch (IllegalArgumentException ex) {
             assertEquals("Username, password and groupname cannot be null or \"\"", ex.getMessage());
         }
-
     }
 
     public void testAddUserToNonExistingGroup() throws Exception {
         try {
             UserDTO userDTO = new UserDTO("tran", "bob", "nonexistingGroup");
-            instance.addUser(userDTO);
+            m_userEditor.addUser(userDTO);
         }
         catch (Exception ex) {
             assertEquals("Group: nonexistingGroup not found", ex.getMessage());
@@ -134,7 +179,7 @@ public class UserEditorTest extends Inte
     public void testAddUserToNullGroup() throws Exception {
         try {
             UserDTO userDTO = new UserDTO("tran", "bob", null);
-            instance.addUser(userDTO);
+            m_userEditor.addUser(userDTO);
         }
         catch (IllegalArgumentException ex) {
             assertEquals("Username, password and groupname cannot be null or \"\"", ex.getMessage());
@@ -144,7 +189,7 @@ public class UserEditorTest extends Inte
     public void testAddUserToEmptyGroupname() throws Exception {
         try {
             UserDTO userDTO = new UserDTO("tran", "bob", "");
-            instance.addUser(userDTO);
+            m_userEditor.addUser(userDTO);
         }
         catch (Exception ex) {
             assertEquals("Username, password and groupname cannot be null or \"\"", ex.getMessage());
@@ -153,24 +198,24 @@ public class UserEditorTest extends Inte
 
     public void testEditUserWithValidPassword() throws Exception {
         UserDTO userDTO = new UserDTO("bob", "tran", "TestGroup");
-        instance.addUser(userDTO);
+        m_userEditor.addUser(userDTO);
         userDTO.setPassword("bob");
-        instance.editPassword(userDTO);
-        assertEquals("bob", (String) instance.getUser("bob").getCredentials().get("password"));
-        instance.removeUser(userDTO);
+        m_userEditor.editPassword(userDTO);
+        assertEquals("bob", (String) m_userEditor.getUser("bob").getCredentials().get("password"));
+        m_userEditor.removeUser(userDTO);
     }
 
     public void testEditUserWithNullPassword() throws UserNotFoundException {
         UserDTO userDTO = new UserDTO("tran", "tran", "TestGroup");
 
         try {
-            instance.addUser(userDTO);
+            m_userEditor.addUser(userDTO);
             userDTO.setPassword(null);
-            instance.editPassword(userDTO);
+            m_userEditor.editPassword(userDTO);
         }
         catch (Exception e) {
             assertEquals("Username or Password cannot be null or \"\" ", e.getMessage());
-            instance.removeUser(userDTO);
+            m_userEditor.removeUser(userDTO);
         }
     }
 
@@ -178,13 +223,13 @@ public class UserEditorTest extends Inte
         UserDTO userDTO = new UserDTO("tran", "tran", "TestGroup");
         try {
 
-            instance.addUser(userDTO);
+            m_userEditor.addUser(userDTO);
             userDTO.setPassword("");
-            instance.editPassword(userDTO);
+            m_userEditor.editPassword(userDTO);
         }
         catch (Exception e) {
             assertEquals("Username or Password cannot be null or \"\" ", e.getMessage());
-            instance.removeUser(userDTO);
+            m_userEditor.removeUser(userDTO);
         }
     }
 
@@ -192,7 +237,7 @@ public class UserEditorTest extends Inte
         try {
             UserDTO userDTO = new UserDTO("BOOOOOB", null, null);
             userDTO.setUsername("bob");
-            instance.editUsername(userDTO);
+            m_userEditor.editUsername(userDTO);
         }
         catch (Exception userNotFoundException) {
             assertEquals("User: BOOOOOB not found", userNotFoundException.getMessage());
@@ -201,73 +246,70 @@ public class UserEditorTest extends Inte
 
     public void testEditUsernameWithValidName() throws Exception {
         UserDTO userDTO = new UserDTO("lala", "tran", "TestGroup");
-        instance.addUser(userDTO);
-        useradmin.getUser("username", "lala").getProperties().put("username", "lala1");
-        User user = (User) useradmin.getRole("lala");
+        m_userEditor.addUser(userDTO);
+        m_userAdmin.getUser("username", "lala").getProperties().put("username", "lala1");
+        User user = (User) m_userAdmin.getRole("lala");
         assertEquals("lala", user.getName());
         assertEquals("lala1", (String) user.getProperties().get("username"));
-        user = useradmin.getUser("username", "lala1");
-        userDTO = new UserDTO(user, instance.getGroup(user));
+        user = m_userAdmin.getUser("username", "lala1");
+        userDTO = new UserDTO(user, m_userEditor.getGroup(user));
         assertEquals("lala", user.getName());
         assertEquals("lala1", (String) user.getProperties().get("username"));
-        instance.removeUser(userDTO);
+        m_userEditor.removeUser(userDTO);
     }
 
     public void testEditUsernameWithAlreadyExistingName() throws UserNotFoundException {
         try {
             UserDTO userDTO = new UserDTO("Hank", "password", "TestGroup");
-            instance.addUser(userDTO);
+            m_userEditor.addUser(userDTO);
             userDTO = new UserDTO("Dirk", "password", "TestGroup");
-            instance.addUser(userDTO);
+            m_userEditor.addUser(userDTO);
             userDTO.setUsername("Hank");
-            instance.editUsername(userDTO);
+            m_userEditor.editUsername(userDTO);
         }
         catch (Exception userAlreadyExistsException) {
             assertEquals("User: Hank already exists", userAlreadyExistsException.getMessage());
-            instance.removeUser(new UserDTO("Hank", null, null));
-            instance.removeUser(new UserDTO("Dirk", null, null));
+            m_userEditor.removeUser(new UserDTO("Hank", null, null));
+            m_userEditor.removeUser(new UserDTO("Dirk", null, null));
         }
     }
 
     public void testEditUserNameWithNull() throws GroupNotFoundException, UserAlreadyExistsException, UserNotFoundException {
         try {
             UserDTO userDTO = new UserDTO("Dirk", "password", "TestGroup");
-            instance.addUser(userDTO);
+            m_userEditor.addUser(userDTO);
             userDTO.setUsername(null);
-            instance.editUsername(userDTO);
+            m_userEditor.editUsername(userDTO);
         }
         catch (Exception invalidArgumentException) {
             assertEquals("oldUsername and newUsername cannot be null or \"\" ", invalidArgumentException.getMessage());
-            instance.removeUser(new UserDTO("Dirk", "password", "TestGroup"));
+            m_userEditor.removeUser(new UserDTO("Dirk", "password", "TestGroup"));
         }
     }
 
     public void testEditUserNameWithEmptyName() throws GroupNotFoundException, UserAlreadyExistsException, UserNotFoundException {
         try {
             UserDTO userDTO = new UserDTO("Dirk", "password", "TestGroup");
-            instance.addUser(userDTO);
+            m_userEditor.addUser(userDTO);
             userDTO.setUsername("");
-            instance.editUsername(userDTO);
+            m_userEditor.editUsername(userDTO);
         }
         catch (Exception invalidArgumentException) {
             assertEquals("oldUsername and newUsername cannot be null or \"\" ", invalidArgumentException.getMessage());
-            instance.removeUser(new UserDTO("Dirk", "password", "TestGroup"));
+            m_userEditor.removeUser(new UserDTO("Dirk", "password", "TestGroup"));
         }
     }
 
-    // // Broken test, newUser is null at end of method??
-    // public void GetUserBroken() {
-    // User newUser = null;
-    // Role newRole = useradmin.createRole((String) "Testuser", Role.USER);
-    // Group group = (Group) useradmin.getRole("TestGroup");
-    // if (newRole != null && group != null)
-    // {
-    // newUser = (User) newRole;
-    // newUser.getProperties().put("username", "u");
-    // newUser.getCredentials().put("password", "p");
-    // group.addMember(newUser);
-    // }
-    // assertEquals("Testuser", instance.getUser("u").getName());
-    // }
-
+    public void GetUserBroken() {
+        User newUser = null;
+        Role newRole = m_userAdmin.createRole((String) "Testuser", Role.USER);
+        Group group = (Group) m_userAdmin.getRole("TestGroup");
+        if (newRole != null && group != null) {
+            newUser = (User) newRole;
+            newUser.getProperties().put("username", "u");
+            newUser.getCredentials().put("password", "p");
+            group.addMember(newUser);
+        }
+        assertEquals("Testuser", m_userEditor.getUser("u").getName());
+    }
 }