diff --git a/exo.core.component.database/pom.xml b/exo.core.component.database/pom.xml
index 4ef2bd0de..fcc31ce9d 100644
--- a/exo.core.component.database/pom.xml
+++ b/exo.core.component.database/pom.xml
@@ -81,7 +81,7 @@
jboss-logging
- org.hibernate
+ org.hibernate.orm
hibernate-core
diff --git a/exo.core.component.database/src/main/java/org/exoplatform/services/database/DBObjectPageList.java b/exo.core.component.database/src/main/java/org/exoplatform/services/database/DBObjectPageList.java
index 70324fcd3..90ed43c57 100644
--- a/exo.core.component.database/src/main/java/org/exoplatform/services/database/DBObjectPageList.java
+++ b/exo.core.component.database/src/main/java/org/exoplatform/services/database/DBObjectPageList.java
@@ -18,15 +18,16 @@
*/
package org.exoplatform.services.database;
-import org.exoplatform.commons.utils.PageList;
-import org.hibernate.Query;
-import org.hibernate.Session;
-
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
+import org.hibernate.Session;
+import org.hibernate.query.Query;
+
+import org.exoplatform.commons.utils.PageList;
+
/**
* @author Tuan Nguyen (tuan08@users.sourceforge.net)
* @since Oct 21, 2004
diff --git a/exo.core.component.database/src/main/java/org/exoplatform/services/database/impl/HibernateServiceImpl.java b/exo.core.component.database/src/main/java/org/exoplatform/services/database/impl/HibernateServiceImpl.java
index dc5034931..4d8239c7a 100644
--- a/exo.core.component.database/src/main/java/org/exoplatform/services/database/impl/HibernateServiceImpl.java
+++ b/exo.core.component.database/src/main/java/org/exoplatform/services/database/impl/HibernateServiceImpl.java
@@ -150,7 +150,7 @@ final public void closeSession() {
}
public Object findExactOne(Session session, String query, String id) throws Exception {
- Object res = session.createQuery(query).setString("id", id).uniqueResult();
+ Object res = session.createQuery(query).setParameter("id", id).uniqueResult();
if (res == null) {
throw new ObjectNotFoundException("Cannot find the object with id: " + id);
}
@@ -158,7 +158,7 @@ public Object findExactOne(Session session, String query, String id) throws Exce
}
public Object findOne(Session session, String query, String id) throws Exception {
- List> l = session.createQuery(query).setString("id", id).list();
+ List> l = session.createQuery(query).setParameter("id", id).list();
if (l.size() == 0) {
return null;
} else if (l.size() > 1) {
diff --git a/exo.core.component.organization.api/pom.xml b/exo.core.component.organization.api/pom.xml
index 609343d20..e17166450 100644
--- a/exo.core.component.organization.api/pom.xml
+++ b/exo.core.component.organization.api/pom.xml
@@ -48,7 +48,11 @@
exo.core.component.security.core
- org.hibernate
+ org.apache.commons
+ commons-lang3
+
+
+ org.hibernate.orm
hibernate-core
diff --git a/exo.core.component.organization.api/src/main/java/org/exoplatform/services/organization/externalstore/IDMExternalStoreImportService.java b/exo.core.component.organization.api/src/main/java/org/exoplatform/services/organization/externalstore/IDMExternalStoreImportService.java
index e14d8b65f..44976c061 100644
--- a/exo.core.component.organization.api/src/main/java/org/exoplatform/services/organization/externalstore/IDMExternalStoreImportService.java
+++ b/exo.core.component.organization.api/src/main/java/org/exoplatform/services/organization/externalstore/IDMExternalStoreImportService.java
@@ -4,7 +4,7 @@
import java.util.*;
import java.util.function.Consumer;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.exoplatform.commons.utils.PropertyManager;
import org.exoplatform.services.organization.impl.UserImpl;
import org.picocontainer.Startable;
diff --git a/exo.core.component.organization.api/src/main/java/org/exoplatform/services/organization/externalstore/model/IDMQueueEntry.java b/exo.core.component.organization.api/src/main/java/org/exoplatform/services/organization/externalstore/model/IDMQueueEntry.java
index f46406a37..2268d67c8 100644
--- a/exo.core.component.organization.api/src/main/java/org/exoplatform/services/organization/externalstore/model/IDMQueueEntry.java
+++ b/exo.core.component.organization.api/src/main/java/org/exoplatform/services/organization/externalstore/model/IDMQueueEntry.java
@@ -3,7 +3,7 @@
import java.util.Calendar;
import java.util.Objects;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
/**
* IDM Queue entry DTO
diff --git a/exo.core.component.organization.api/src/main/java/org/exoplatform/services/organization/impl/GroupImpl.java b/exo.core.component.organization.api/src/main/java/org/exoplatform/services/organization/impl/GroupImpl.java
index 8b0d87b29..56505fa64 100644
--- a/exo.core.component.organization.api/src/main/java/org/exoplatform/services/organization/impl/GroupImpl.java
+++ b/exo.core.component.organization.api/src/main/java/org/exoplatform/services/organization/impl/GroupImpl.java
@@ -26,12 +26,17 @@
import java.util.Objects;
-import javax.persistence.*;
-
import org.hibernate.annotations.Cache;
import org.hibernate.annotations.CacheConcurrencyStrategy;
-import org.exoplatform.services.organization.*;
+import org.exoplatform.services.organization.ExtendedCloneable;
+import org.exoplatform.services.organization.Group;
+import org.exoplatform.services.organization.OrganizationService;
+
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.Id;
+import jakarta.persistence.Table;
@Entity
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
diff --git a/exo.core.component.organization.api/src/main/java/org/exoplatform/services/organization/impl/MembershipImpl.java b/exo.core.component.organization.api/src/main/java/org/exoplatform/services/organization/impl/MembershipImpl.java
index b361137fb..cd74dc262 100644
--- a/exo.core.component.organization.api/src/main/java/org/exoplatform/services/organization/impl/MembershipImpl.java
+++ b/exo.core.component.organization.api/src/main/java/org/exoplatform/services/organization/impl/MembershipImpl.java
@@ -18,16 +18,18 @@
*/
package org.exoplatform.services.organization.impl;
-import org.exoplatform.services.organization.ExtendedCloneable;
-import org.exoplatform.services.organization.Membership;
+import java.util.Objects;
+
import org.hibernate.annotations.Cache;
import org.hibernate.annotations.CacheConcurrencyStrategy;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.Id;
-import javax.persistence.Table;
-import java.util.Objects;
+import org.exoplatform.services.organization.ExtendedCloneable;
+import org.exoplatform.services.organization.Membership;
+
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.Id;
+import jakarta.persistence.Table;
@Entity
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
diff --git a/exo.core.component.organization.api/src/main/java/org/exoplatform/services/organization/impl/MembershipTypeImpl.java b/exo.core.component.organization.api/src/main/java/org/exoplatform/services/organization/impl/MembershipTypeImpl.java
index 803e1fdfb..c63e20d80 100644
--- a/exo.core.component.organization.api/src/main/java/org/exoplatform/services/organization/impl/MembershipTypeImpl.java
+++ b/exo.core.component.organization.api/src/main/java/org/exoplatform/services/organization/impl/MembershipTypeImpl.java
@@ -18,17 +18,19 @@
*/
package org.exoplatform.services.organization.impl;
-import org.exoplatform.services.organization.ExtendedCloneable;
-import org.exoplatform.services.organization.MembershipType;
+import java.util.Date;
+import java.util.Objects;
+
import org.hibernate.annotations.Cache;
import org.hibernate.annotations.CacheConcurrencyStrategy;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.Id;
-import javax.persistence.Table;
-import java.util.Date;
-import java.util.Objects;
+import org.exoplatform.services.organization.ExtendedCloneable;
+import org.exoplatform.services.organization.MembershipType;
+
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.Id;
+import jakarta.persistence.Table;
/**
* Created by The eXo Platform SAS .
diff --git a/exo.core.component.organization.api/src/main/java/org/exoplatform/services/organization/impl/UserImpl.java b/exo.core.component.organization.api/src/main/java/org/exoplatform/services/organization/impl/UserImpl.java
index 88a53a770..7f662a667 100644
--- a/exo.core.component.organization.api/src/main/java/org/exoplatform/services/organization/impl/UserImpl.java
+++ b/exo.core.component.organization.api/src/main/java/org/exoplatform/services/organization/impl/UserImpl.java
@@ -18,17 +18,20 @@
*/
package org.exoplatform.services.organization.impl;
+import java.util.Date;
+import java.util.Objects;
+
import org.hibernate.annotations.Cache;
import org.hibernate.annotations.CacheConcurrencyStrategy;
-import org.exoplatform.services.organization.*;
+import org.exoplatform.services.organization.ExtendedCloneable;
+import org.exoplatform.services.organization.OrganizationService;
+import org.exoplatform.services.organization.User;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.Id;
-import javax.persistence.Table;
-import java.util.Date;
-import java.util.Objects;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.Id;
+import jakarta.persistence.Table;
@Entity
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
diff --git a/exo.core.component.organization.tests/pom.xml b/exo.core.component.organization.tests/pom.xml
deleted file mode 100644
index fc7cfcfb1..000000000
--- a/exo.core.component.organization.tests/pom.xml
+++ /dev/null
@@ -1,74 +0,0 @@
-
-
-
-
-
- 4.0.0
-
-
- org.exoplatform.core
- core-parent
- 6.6.x-meed-SNAPSHOT
-
-
- exo.core.component.organization.tests
-
- eXo PLF Core :: Component :: Organization Service Tests
- Organisation Service TCK tests of Exoplatform SAS 'eXo Core' project.
-
-
-
- true
-
-
-
- junit
- junit
- provided
-
-
- org.exoplatform.core
- exo.core.component.organization.api
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-source-plugin
-
-
- attach-sources
- generate-sources
-
- test-jar-no-fork
-
-
-
-
-
-
-
diff --git a/exo.core.component.organization.tests/src/test/java/org/exoplatform/services/tck/organization/AbstractOrganizationServiceTest.java b/exo.core.component.organization.tests/src/test/java/org/exoplatform/services/tck/organization/AbstractOrganizationServiceTest.java
deleted file mode 100644
index 08679e0f7..000000000
--- a/exo.core.component.organization.tests/src/test/java/org/exoplatform/services/tck/organization/AbstractOrganizationServiceTest.java
+++ /dev/null
@@ -1,327 +0,0 @@
-/*
- * Copyright (C) 2003-2011 eXo Platform SAS.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License
- * as published by the Free Software Foundation; either version 3
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, see.
- */
-package org.exoplatform.services.tck.organization;
-
-import junit.framework.TestCase;
-
-import org.exoplatform.commons.utils.ListAccess;
-import org.exoplatform.container.StandaloneContainer;
-import org.exoplatform.container.component.RequestLifeCycle;
-import org.exoplatform.services.organization.Group;
-import org.exoplatform.services.organization.GroupHandler;
-import org.exoplatform.services.organization.MembershipHandler;
-import org.exoplatform.services.organization.MembershipType;
-import org.exoplatform.services.organization.MembershipTypeHandler;
-import org.exoplatform.services.organization.OrganizationService;
-import org.exoplatform.services.organization.User;
-import org.exoplatform.services.organization.UserHandler;
-import org.exoplatform.services.organization.UserProfile;
-import org.exoplatform.services.organization.UserProfileHandler;
-import org.exoplatform.services.organization.UserStatus;
-
-import java.util.ArrayList;
-import java.util.Calendar;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-/**
- * Created by The eXo Platform SAS.
- *
- *
Date: 2011
- *
- * @author Alex Reshetnyak
- * @version $Id: AbstractOrganizationServiceTest.java 111 2011-11-11 11:11:11Z rainf0x $
- */
-public class AbstractOrganizationServiceTest extends TestCase
-{
-
- protected GroupHandler gHandler;
-
- protected MembershipHandler mHandler;
-
- protected UserHandler uHandler;
-
- protected MembershipTypeHandler mtHandler;
-
- protected UserProfileHandler upHandler;
-
- protected String membershipType = "type";
-
- protected String userName = "user";
-
- protected String newUserName = "newUser";
-
- protected String groupName1 = "group1";
-
- protected String groupName2 = "group2";
-
- protected StandaloneContainer container;
-
- /**
- * The list of users which have been created during test.
- * Will be removed in tearDown() method.
- */
- private List users = new ArrayList();
-
- /**
- * The list of membership types which have been created during test.
- * Will be removed in tearDown() method.
- */
- private List types = new ArrayList();
-
- /**
- * The list of group which have been created during test.
- * Will be removed in tearDown() method.
- */
- private List groups = new ArrayList();
-
- /**
- * {@inheritDoc}
- */
- public void setUp() throws Exception
- {
- super.setUp();
-
-
- String configPath = System.getProperty("orgservice.test.configuration.file");
- if (configPath == null)
- {
- configPath = "/conf/standalone/test-configuration.xml";
- }
-
- String containerConf = getClass().getResource(configPath).toString();
-
- StandaloneContainer.addConfigurationURL(containerConf);
- container = StandaloneContainer.getInstance();
-
- OrganizationService organizationService =
- container.getComponentInstanceOfType(OrganizationService.class);
-
- gHandler = organizationService.getGroupHandler();
- uHandler = organizationService.getUserHandler();
- mHandler = organizationService.getMembershipHandler();
- mtHandler = organizationService.getMembershipTypeHandler();
- upHandler = organizationService.getUserProfileHandler();
-
- users.add(userName);
- users.add(newUserName);
-
- groups.add("/" + groupName1);
- groups.add("/" + groupName1 + "/" + groupName2);
-
- types.add(membershipType);
-
- RequestLifeCycle.begin(container);
- }
-
- /**
- * Create new user for test purpose only.
- */
- protected void createUser(String userName) throws Exception
- {
- User u = uHandler.createUserInstance(userName);
- u.setEmail("email@test");
- u.setFirstName("first");
- u.setLastLoginTime(Calendar.getInstance().getTime());
- u.setCreatedDate(Calendar.getInstance().getTime());
- u.setLastName("last");
- u.setPassword("pwdADDSomeSaltToBeCompliantWithSomeIS00");
-
- uHandler.createUser(u, true);
-
- users.add(userName);
- }
-
- /**
- * Create user with profile.
- */
- protected void createUserProfile(String userName) throws Exception
- {
- UserProfile up = upHandler.createUserProfileInstance(userName);
- Map attributes = up.getUserInfoMap();
- attributes.put("key1", "value1");
- attributes.put("key2", "value2");
- upHandler.saveUserProfile(up, true);
- }
-
- /**
- * Create membership type.
- */
- protected void createMembershipType(String type, String desc) throws Exception
- {
- MembershipType mt = mtHandler.createMembershipTypeInstance();
- mt.setName(type);
- mt.setDescription(desc);
- mtHandler.createMembershipType(mt, true);
-
- types.add(type);
- }
-
- /**
- * Create new group.
- */
- protected void createGroup(String parentId, String name, String label, String desc) throws Exception
- {
- Group parent = parentId == null ? null : gHandler.findGroupById(parentId);
-
- Group child = gHandler.createGroupInstance();
- child.setGroupName(name);
- child.setLabel(label);
- child.setDescription(desc);
- gHandler.addChild(parent, child, true);
-
- groups.add((parent == null ? "" : parentId) + "/" + name);
- }
-
- /**
- * Create membership.
- */
- protected void createMembership(String userName, String groupName, String type) throws Exception
- {
- createUser(userName);
- createGroup(null, groupName, "label", "desc");
- createMembershipType(type, "desc");
-
- // link membership
- mHandler.linkMembership(uHandler.findUserByName(userName), gHandler.findGroupById("/" + groupName), mtHandler
- .findMembershipType(type), true);
- }
-
- /**
- * Create new group instance.
- */
- protected Group createGroupInstance(String name) throws Exception
- {
- createGroup(null, name, "label", "desc");
- return gHandler.removeGroup(gHandler.findGroupById("/" + name), true);
- }
-
- /**
- * {@inheritDoc}
- */
- public void tearDown() throws Exception
- {
-
- RequestLifeCycle.end();
- RequestLifeCycle.begin(container);
-
- // remove all users
- Iterator iter = users.iterator();
- while (iter.hasNext())
- {
- String userName = iter.next();
-
- if (uHandler.findUserByName(userName) != null)
- {
- uHandler.removeUser(userName, true);
- }
- iter.remove();
- }
-
- // remove all membership types
- iter = types.iterator();
- while (iter.hasNext())
- {
- String type = iter.next();
-
- if (mtHandler.findMembershipType(type) != null)
- {
- mtHandler.removeMembershipType(type, true);
- }
- iter.remove();
- }
-
- // remove all groups
- iter = groups.iterator();
- while (iter.hasNext())
- {
- String groupId = iter.next();
-
- removeGroups(groupId);
- iter.remove();
- }
-
- RequestLifeCycle.end();
- super.tearDown();
- }
-
- private void removeGroups(String parentId) throws Exception
- {
- Group group = gHandler.findGroupById(parentId);
- if (group != null)
- {
-
- Collection childs = gHandler.findGroups(group);
- for (Group child : childs)
- {
- removeGroups(child.getId());
- }
-
- gHandler.removeGroup(group, true);
- }
- }
-
- protected void assertSizeEquals(int expectedSize, ListAccess> list) throws Exception
- {
- int size;
- assertEquals(expectedSize, size = list.getSize());
- Object[] values = list.load(0, size);
- size = 0;
- for (int i = 0; i < values.length; i++)
- {
- if (values[i] != null)
- {
- size++;
- }
- }
- assertEquals(expectedSize, size);
- }
-
- protected void assertSizeEquals(int expectedSize, Collection> list) throws Exception
- {
- int size;
- assertEquals(expectedSize, list.size());
- size = 0;
- for (Object value : list)
- {
- if (value != null)
- {
- size++;
- }
- }
- assertEquals(expectedSize, size);
- }
-
- protected void assertSizeEquals(int expectedSize, ListAccess list, UserStatus status) throws Exception
- {
- int size;
- assertEquals(expectedSize, size = list.getSize());
- User[] values = list.load(0, size);
- size = 0;
- for (int i = 0; i < values.length; i++)
- {
- User usr = values[i];
- if (usr != null && status.matches(usr.isEnabled()))
- {
- size++;
- }
- }
- assertEquals(expectedSize, size);
- }
-}
diff --git a/exo.core.component.organization.tests/src/test/java/org/exoplatform/services/tck/organization/TestGroupHandler.java b/exo.core.component.organization.tests/src/test/java/org/exoplatform/services/tck/organization/TestGroupHandler.java
deleted file mode 100644
index 347583d95..000000000
--- a/exo.core.component.organization.tests/src/test/java/org/exoplatform/services/tck/organization/TestGroupHandler.java
+++ /dev/null
@@ -1,480 +0,0 @@
-/*
- * Copyright (C) 2003-2007 eXo Platform SAS.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License
- * as published by the Free Software Foundation; either version 3
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, see.
- */
-package org.exoplatform.services.tck.organization;
-
-import org.exoplatform.services.organization.Group;
-import org.exoplatform.services.organization.GroupEventListener;
-import org.exoplatform.services.organization.GroupEventListenerHandler;
-import org.exoplatform.services.organization.MembershipTypeHandler;
-
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-/**
- * Created by The eXo Platform SAS.
- *
- * @author Anatoliy Bazko
- * @version $Id: TestOrganizationService.java 111 2008-11-11 11:11:11Z $
- */
-public class TestGroupHandler extends AbstractOrganizationServiceTest
-{
-
- private MyGroupEventListener listener;
-
- @Override
- public void setUp() throws Exception
- {
- super.setUp();
- listener = new MyGroupEventListener();
- gHandler.addGroupEventListener(listener);
- }
-
- @Override
- public void tearDown() throws Exception
- {
- gHandler.removeGroupEventListener(listener);
- super.tearDown();
- }
-
- /**
- * Find group by id.
- */
- public void testFindGroupById() throws Exception
- {
- Group g = gHandler.findGroupById("/platform/administrators");
- assertNotNull(g);
- assertEquals(g.getDescription(), "the /platform/administrators group");
- assertEquals(g.getGroupName(), "administrators");
- assertEquals(g.getId(), "/platform/administrators");
- assertEquals(g.getLabel(), "Administrators");
- assertEquals(g.getParentId(), "/platform");
-
- // try to find not existed group. We are supposed to get "null" instead of Exception
- try
- {
- assertNull(gHandler.findGroupById("/not-existed-group"));
- }
- catch (Exception e)
- {
- fail("Exception should be thrown");
- }
-
- // Check the listener's counters
- assertEquals(0, listener.preSaveNew);
- assertEquals(0, listener.postSaveNew);
- assertEquals(0, listener.preSave);
- assertEquals(0, listener.postSave);
- assertEquals(0, listener.preDelete);
- assertEquals(0, listener.postDelete);
- }
-
- /**
- * Find groups by user.
- */
- public void testFindGroupsByUser() throws Exception
- {
- assertSizeEquals(3, gHandler.findGroupsOfUser("john"));
- assertSizeEquals(0, gHandler.findGroupsOfUser("fake-user"));
-
- createMembership(userName, groupName1, membershipType);
- createGroup(null, groupName2, "label", "desc");
- mHandler.linkMembership(uHandler.findUserByName(userName), gHandler.findGroupById("/" + groupName2),
- mtHandler.findMembershipType(MembershipTypeHandler.ANY_MEMBERSHIP_TYPE), true);
-
- Collection groups;
- assertSizeEquals(2, groups = gHandler.findGroupsOfUser(userName));
- Set groupNames = new HashSet();
- for (Group g : groups)
- {
- groupNames.add(g.getGroupName());
- }
- assertTrue(groupNames.contains(groupName1));
- assertTrue(groupNames.contains(groupName2));
-
- Iterator it = groups.iterator();
- gHandler.removeGroup(it.next(), true);
-
- assertSizeEquals(1, gHandler.findGroupsOfUser(userName));
-
- gHandler.removeGroup(it.next(), true);
-
- assertSizeEquals(0, gHandler.findGroupsOfUser(userName));
-
- createMembership(userName + "2", groupName2, membershipType + "2");
-
- assertSizeEquals(1, gHandler.findGroupsOfUser(userName + "2"));
-
- mHandler.removeMembershipByUser(userName + "2", false);
-
- assertSizeEquals(0, gHandler.findGroupsOfUser(userName + "2"));
-
- createMembership(userName + "3", groupName2 + "3", membershipType + "3");
-
- assertSizeEquals(1, gHandler.findGroupsOfUser(userName + "3"));
-
- uHandler.removeUser(userName + "3", false);
-
- assertSizeEquals(0, gHandler.findGroupsOfUser(userName + "3"));
-
- // Check the listener's counters
- assertEquals(4, listener.preSaveNew);
- assertEquals(4, listener.postSaveNew);
- assertEquals(0, listener.preSave);
- assertEquals(0, listener.postSave);
- assertEquals(2, listener.preDelete);
- assertEquals(2, listener.postDelete);
- }
-
- /**
- * Find groups.
- */
- public void testFindGroups() throws Exception
- {
- assertSizeEquals(4, gHandler.findGroups(null));
- assertSizeEquals(2, gHandler.findGroups(gHandler.findGroupById("/organization/operations")));
- assertSizeEquals(0, gHandler.findGroups(gHandler.findGroupById("/organization/management/executive-board")));
-
- // Check the listener's counters
- assertEquals(0, listener.preSaveNew);
- assertEquals(0, listener.postSaveNew);
- assertEquals(0, listener.preSave);
- assertEquals(0, listener.postSave);
- assertEquals(0, listener.preDelete);
- assertEquals(0, listener.postDelete);
- }
-
- /**
- * Get all groups.
- */
- public void testGetAllGroups() throws Exception
- {
- assertSizeEquals(16, gHandler.getAllGroups());
-
- // Check the listener's counters
- assertEquals(0, listener.preSaveNew);
- assertEquals(0, listener.postSaveNew);
- assertEquals(0, listener.preSave);
- assertEquals(0, listener.postSave);
- assertEquals(0, listener.preDelete);
- assertEquals(0, listener.postDelete);
- }
-
- /**
- * Get groups by keyword.
- */
- public void testGetGroupsByKeyword() throws Exception
- {
- try {
- assertSizeEquals(2, gHandler.findGroupsByKeyword("us")); // customers and users
- assertSizeEquals(1, gHandler.findGroupsByKeyword("ad")); // administrators
-
- // Check the listener's counters
- assertEquals(0, listener.preSaveNew);
- assertEquals(0, listener.postSaveNew);
- assertEquals(0, listener.preSave);
- assertEquals(0, listener.postSave);
- assertEquals(0, listener.preDelete);
- assertEquals(0, listener.postDelete);
- } catch (UnsupportedOperationException e) {
- // Catch unsupported implementations for ldap and hibernate
- }
- }
-
- /**
- * Remove group.
- */
- public void testRemoveGroup() throws Exception
- {
- createUser(userName);
- createGroup("/organization", groupName1, "label", "desc");
- createGroup("/organization/" + groupName1, groupName2, "label", "desc");
-
- createMembership(newUserName, groupName2, membershipType);
- assertEquals("We expect to find single membership for user " + newUserName, 1,
- mHandler.findMembershipsByUser(newUserName).size());
-
- // can not remove group till children exist
- try
- {
- gHandler.removeGroup(gHandler.findGroupById("/organization/group1"), true);
- fail("");
- }
- catch (Exception e)
- {
- }
-
- gHandler.removeGroup(gHandler.findGroupById("/organization/group1/group2"), true);
- Group group = gHandler.removeGroup(gHandler.findGroupById("/organization/group1"), true);
-
- assertNull(gHandler.findGroupById("/organization/group1"));
- assertNull(gHandler.findGroupById("/organization/group1/group2"));
-
- gHandler.removeGroup(gHandler.findGroupById("/" + groupName2), true);
- assertEquals("We expect to find no membership for user " + newUserName, 0,
- mHandler.findMembershipsByUser(newUserName).size());
-
- // try to remove not exited group. Exception should be thrown
- try
- {
- gHandler.removeGroup(group, true);
- fail("Exception should be thrown");
- }
- catch (Exception e)
- {
- }
-
- // create in root
- createGroup(null, groupName1, "label", "desc");
- createGroup("/" + groupName1, groupName2, "label", "desc");
-
- gHandler.removeGroup(gHandler.findGroupById("/" + groupName1 + "/" + groupName2), true);
- gHandler.removeGroup(gHandler.findGroupById("/" + groupName1), true);
- assertNull(gHandler.findGroupById("/" + groupName1));
- assertNull(gHandler.findGroupById("/" + groupName1 + "/" + groupName2));
-
- // Check the listener's counters
- assertEquals(5, listener.preSaveNew);
- assertEquals(5, listener.postSaveNew);
- assertEquals(0, listener.preSave);
- assertEquals(0, listener.postSave);
- assertEquals(5, listener.preDelete);
- assertEquals(5, listener.postDelete);
- }
-
- /**
- * Add child.
- */
- public void testAddChild() throws Exception
- {
- Group parent = createGroupInstance(groupName1);
- Group child = createGroupInstance(groupName2);
-
- // try to add child to not existed parent group
- try
- {
- gHandler.addChild(parent, child, false);
- fail("Exception should be thrown.");
- }
- catch (Exception e)
- {
- }
-
- // add parent group
- gHandler.addChild(null, parent, false);
- assertNotNull(gHandler.findGroupById("/" + groupName1));
-
- // add child group
- gHandler.addChild(parent, child, false);
- assertNotNull(gHandler.findGroupById("/" + groupName1 + "/" + groupName2));
-
- // Check the listener's counters
- assertEquals(2, listener.preSaveNew);
- assertEquals(2, listener.postSaveNew);
- assertEquals(0, listener.preSave);
- assertEquals(0, listener.postSave);
- assertEquals(2, listener.preDelete);
- assertEquals(2, listener.postDelete);
- }
-
- /**
- * Test add new group same name with existing one
- * @throws Exception
- */
- public void testAddDuplicateChild() throws Exception {
- // Create parent group
- String parentName = "testAddDuplicateChild_GroupParent";
- Group groupParent = gHandler.createGroupInstance();
- groupParent.setGroupName(parentName);
- groupParent.setLabel("GroupParent Label");
- groupParent.setDescription("This is description");
- gHandler.addChild(null, groupParent, true);
- assertEquals(gHandler.findGroupById(groupParent.getId()).getLabel(), "GroupParent Label");
-
- /* Create a child group with name: Group1 */
- Group groupChild1 = gHandler.createGroupInstance();
- groupChild1.setGroupName("testAddDuplicateChild");
- groupChild1.setLabel("Group1 Label");
- gHandler.addChild(groupParent, groupChild1, true);
- assertEquals(gHandler.findGroupById(groupChild1.getId()).getLabel(), "Group1 Label");
-
- try {
- // Add new child same name with existing one
- Group groupChild2 = gHandler.createGroupInstance();
- groupChild2.setGroupName("testAddDuplicateChild");
- groupChild2.setLabel("Group2 Label");
- gHandler.addChild(groupParent, groupChild2, true);
-
- fail("Exception should be thrown because group child is existing");
- } catch (Exception ex) {
-
- }
- // Label of the existing group is not updated
- assertEquals(gHandler.findGroupById(groupChild1.getId()).getLabel(), "Group1 Label");
-
- // remove child group
- gHandler.removeGroup(gHandler.findGroupById(groupChild1.getId()),true);
- // remove parent group
- gHandler.removeGroup(gHandler.findGroupById(groupParent.getId()),true);
- }
-
- /**
- * Create group.
- */
- @SuppressWarnings("deprecation")
- public void testCreateGroup() throws Exception
- {
- Group group = gHandler.createGroupInstance();
- group.setGroupName(groupName1);
- group.setLabel("label");
- gHandler.createGroup(group, true);
-
- assertNotNull(gHandler.findGroupById("/" + groupName1));
- }
-
- /**
- * Save group.
- */
- public void testSaveGroup() throws Exception
- {
- createGroup(null, groupName1, "label", "desc");
-
- // set new description
- Group g = gHandler.findGroupById("/" + groupName1);
- g.setDescription("newDesc");
- gHandler.saveGroup(g, true);
-
- // check if group has new description
- g = gHandler.findGroupById("/" + groupName1);
- assertEquals(g.getDescription(), "newDesc");
-
- // Check the listener's counters
- assertEquals(1, listener.preSaveNew);
- assertEquals(1, listener.postSaveNew);
- assertEquals(1, listener.preSave);
- assertEquals(1, listener.postSave);
- assertEquals(0, listener.preDelete);
- assertEquals(0, listener.postDelete);
- }
-
- /**
- * Test get listeners.
- */
- public void testGetListeners() throws Exception
- {
- if (gHandler instanceof GroupEventListenerHandler)
- {
- List list = ((GroupEventListenerHandler) gHandler).getGroupListeners();
- try
- {
- list.clear();
- fail("We are not supposed to be able to change list of listeners.");
- }
- catch (Exception e)
- {
- }
- }
- }
-
- private static class MyGroupEventListener extends GroupEventListener
- {
- public int preSaveNew, postSaveNew;
- public int preSave, postSave;
- public int preDelete, postDelete;
-
- @Override
- public void preSave(Group group, boolean isNew) throws Exception
- {
- if (group == null)
- return;
- if (isNew)
- preSaveNew++;
- else
- preSave++;
- }
-
- @Override
- public void postSave(Group group, boolean isNew) throws Exception
- {
- if (group == null)
- return;
- if (isNew)
- postSaveNew++;
- else
- postSave++;
- }
-
- @Override
- public void preDelete(Group group) throws Exception
- {
- if (group == null)
- return;
- preDelete++;
- }
-
- @Override
- public void postDelete(Group group) throws Exception
- {
- if (group == null)
- return;
- postDelete++;
- }
- }
-
- public void testFindGroupByMembership() throws Exception
- {
- createMembership(userName, groupName1, membershipType);
- createGroup(null, groupName2, "label", "desc");
- mtHandler.findMembershipType(MembershipTypeHandler.ANY_MEMBERSHIP_TYPE);
- mHandler.linkMembership(uHandler.findUserByName(userName), gHandler.findGroupById("/" + groupName2),
- mtHandler.findMembershipType(MembershipTypeHandler.ANY_MEMBERSHIP_TYPE), false);
- Collection groups = gHandler.findGroupByMembership(userName, membershipType);
- assertNotNull(groups);
- assertEquals(1, groups.size());
- assertEquals(groupName1, groups.iterator().next().getGroupName());
-
- groups = gHandler.findGroupByMembership(userName, MembershipTypeHandler.ANY_MEMBERSHIP_TYPE);
- assertNotNull(groups);
- assertEquals(1, groups.size());
- assertEquals(groupName2, groups.iterator().next().getGroupName());
- }
-
- public void testResolveGroupByMembership() throws Exception
- {
- createMembership(userName, groupName1, membershipType);
- createGroup(null, groupName2, "label", "desc");
- mHandler.linkMembership(uHandler.findUserByName(userName), gHandler.findGroupById("/" + groupName2),
- mtHandler.findMembershipType(MembershipTypeHandler.ANY_MEMBERSHIP_TYPE), false);
- Collection groups = gHandler.resolveGroupByMembership(userName, membershipType);
- assertNotNull(groups);
- assertEquals(2, groups.size());
- Set groupNames = new HashSet();
- for (Group g : groups)
- {
- groupNames.add(g.getGroupName());
- }
- assertTrue(groupNames.contains(groupName1));
- assertTrue(groupNames.contains(groupName2));
-
- groups = gHandler.resolveGroupByMembership(userName, MembershipTypeHandler.ANY_MEMBERSHIP_TYPE);
- assertNotNull(groups);
- assertEquals(1, groups.size());
- assertEquals(groupName2, groups.iterator().next().getGroupName());
- }
-}
diff --git a/exo.core.component.organization.tests/src/test/java/org/exoplatform/services/tck/organization/TestMembershipHandler.java b/exo.core.component.organization.tests/src/test/java/org/exoplatform/services/tck/organization/TestMembershipHandler.java
deleted file mode 100644
index e6e77ce3c..000000000
--- a/exo.core.component.organization.tests/src/test/java/org/exoplatform/services/tck/organization/TestMembershipHandler.java
+++ /dev/null
@@ -1,1119 +0,0 @@
-/*
- * Copyright (C) 2003-2008 eXo Platform SAS.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License
- * as published by the Free Software Foundation; either version 3
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, see.
- */
-package org.exoplatform.services.tck.organization;
-
-import org.exoplatform.commons.utils.ListAccess;
-import org.exoplatform.commons.utils.PageList;
-import org.exoplatform.services.organization.Group;
-import org.exoplatform.services.organization.Membership;
-import org.exoplatform.services.organization.MembershipEventListener;
-import org.exoplatform.services.organization.MembershipEventListenerHandler;
-import org.exoplatform.services.organization.MembershipType;
-import org.exoplatform.services.organization.MembershipTypeHandler;
-import org.exoplatform.services.organization.User;
-
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-/**
- * Created by The eXo Platform SAS.
- *
- * @author Anatoliy Bazko
- * @version $Id: TestMembershipImpl.java 111 2008-11-11 11:11:11Z $
- */
-public class TestMembershipHandler extends AbstractOrganizationServiceTest
-{
- private MyMembershipEventListener listener;
-
- @Override
- public void setUp() throws Exception
- {
- super.setUp();
- listener = new MyMembershipEventListener();
- mHandler.addMembershipEventListener(listener);
- }
-
- @Override
- public void tearDown() throws Exception
- {
- mHandler.removeMembershipEventListener(listener);
- super.tearDown();
- }
-
- /**
- * Find membership.
- */
- public void testFindMembership() throws Exception
- {
- createMembership(userName, groupName1, membershipType);
-
- Membership m = mHandler.findMembershipByUserGroupAndType(userName, "/" + groupName1, membershipType);
- assertNotNull(m);
- assertEquals(membershipType, m.getMembershipType());
- assertNotNull(m = mHandler.findMembership(m.getId()));
- assertEquals(membershipType, m.getMembershipType());
-
- // try to find not existed membership. We are supposed to get Exception
- try
- {
- assertNull(mHandler.findMembership("not-existed-id"));
- fail("Exception should be thrown");
- }
- catch (Exception e)
- {
-
- }
-
- mHandler.linkMembership(uHandler.findUserByName(userName), gHandler.findGroupById("/" + groupName1),
- mtHandler.findMembershipType(MembershipTypeHandler.ANY_MEMBERSHIP_TYPE), true);
-
- m =
- mHandler.findMembershipByUserGroupAndType(userName, "/" + groupName1,
- MembershipTypeHandler.ANY_MEMBERSHIP_TYPE);
- assertNotNull(m);
- assertEquals(MembershipTypeHandler.ANY_MEMBERSHIP_TYPE, m.getMembershipType());
- assertNotNull(m = mHandler.findMembership(m.getId()));
- assertEquals(MembershipTypeHandler.ANY_MEMBERSHIP_TYPE, m.getMembershipType());
-
- // Check the listener's counters
- assertEquals(2, listener.preSaveNew);
- assertEquals(2, listener.postSaveNew);
- assertEquals(0, listener.preSave);
- assertEquals(0, listener.postSave);
- assertEquals(0, listener.preDelete);
- assertEquals(0, listener.postDelete);
- }
-
- /**
- * Find membership by user and group.
- */
- public void testFindMembershipByUserGroupAndType() throws Exception
- {
- Membership m = mHandler.findMembershipByUserGroupAndType("marry", "/platform/users", "member");
-
- assertNotNull(m);
- assertEquals(m.getGroupId(), "/platform/users");
- assertEquals(m.getMembershipType(), "member");
- assertEquals(m.getUserName(), "marry");
-
- // try to find not existed membership. We are supposed to get null instead of Exception
- try
- {
- assertNull(mHandler.findMembershipByUserGroupAndType(userName, "/platform/users", "member"));
- }
- catch (Exception e)
- {
- fail("Exception should not be thrown");
- }
-
- try
- {
- assertNull(mHandler.findMembershipByUserGroupAndType("marry", "/" + groupName1, "member"));
- }
- catch (Exception e)
- {
- fail("Exception should not be thrown");
- }
-
- try
- {
- assertNull(mHandler.findMembershipByUserGroupAndType("marry", "/platform/users", membershipType));
- }
- catch (Exception e)
- {
- fail("Exception should not be thrown");
- }
-
- createMembership(userName, groupName1, membershipType);
-
- assertNotNull(m = mHandler.findMembershipByUserGroupAndType(userName, "/" + groupName1, membershipType));
-
- mHandler.removeMembership(m.getId(), true);
-
- assertNull(mHandler.findMembershipByUserGroupAndType(userName, "/" + groupName1, membershipType));
-
- createMembership(userName + "2", groupName2, membershipType + "2");
-
- assertNotNull(mHandler.findMembershipByUserGroupAndType(userName + "2", "/" + groupName2, membershipType + "2"));
-
- mHandler.removeMembershipByUser(userName + "2", true);
-
- assertNull(mHandler.findMembershipByUserGroupAndType(userName + "2", "/" + groupName2, membershipType + "2"));
-
- createMembership(userName + "3", groupName2 + "3", membershipType + "3");
-
- assertNotNull(mHandler.findMembershipByUserGroupAndType(userName + "3", "/" + groupName2 + "3", membershipType
- + "3"));
-
- uHandler.removeUser(userName + "3", false);
-
- assertNull(mHandler
- .findMembershipByUserGroupAndType(userName + "3", "/" + groupName2 + "3", membershipType + "3"));
-
- createMembership(userName + "4", groupName2 + "4", membershipType + "4");
-
- assertNotNull(mHandler.findMembershipByUserGroupAndType(userName + "4", "/" + groupName2 + "4", membershipType
- + "4"));
-
- gHandler.removeGroup(gHandler.findGroupById("/" + groupName2 + "4"), false);
-
- assertNull(mHandler
- .findMembershipByUserGroupAndType(userName + "4", "/" + groupName2 + "4", membershipType + "4"));
-
- // Check the listener's counters
- assertEquals(4, listener.preSaveNew);
- assertEquals(4, listener.postSaveNew);
- assertEquals(0, listener.preSave);
- assertEquals(0, listener.postSave);
- assertEquals(2, listener.preDelete);
- assertEquals(2, listener.postDelete);
- }
-
- /**
- * Test find all membershipTypes linked to this group
- * @throws Exception
- */
- public void testFindMembershipTypesByGroup() throws Exception {
-
- Group users, testGroup = null;
- try {
- createUser(userName);
- assertEquals(1, mHandler.findMembershipTypesByGroup("/platform/users").size());
-
- testGroup = gHandler.createGroupInstance();
- testGroup.setGroupName("testGroup");
- testGroup.setLabel("Testing Group");
- gHandler.addChild(null, testGroup, false);
-
- assertEquals(0, mHandler.findMembershipTypesByGroup("/testGroup").size());
-
- mHandler.linkMembership(uHandler.findUserByName(userName), testGroup,
- mtHandler.findMembershipType(MembershipTypeHandler.ANY_MEMBERSHIP_TYPE), true);
-
- assertEquals(1, mHandler.findMembershipTypesByGroup("/testGroup").size());
-
- // Add another user
- String ali = "ali";
- createUser(ali);
-
- mHandler.linkMembership(uHandler.findUserByName(ali), testGroup,
- mtHandler.findMembershipType(MembershipTypeHandler.ANY_MEMBERSHIP_TYPE), true);
-
- assertEquals(1, mHandler.findMembershipTypesByGroup("/testGroup").size());
-
- createMembershipType(membershipType, "desc");
- mHandler.linkMembership(uHandler.findUserByName(ali), testGroup,
- mtHandler.findMembershipType(membershipType), true);
-
- assertEquals(2, mHandler.findMembershipTypesByGroup("/testGroup").size());
-
-
- Membership membership = mHandler.findMembershipByUserGroupAndType(userName,"/testGroup", MembershipTypeHandler.ANY_MEMBERSHIP_TYPE);
- mHandler.removeMembership(membership.getId(), true);
-
- assertEquals(2, mHandler.findMembershipTypesByGroup("/testGroup").size());
-
- // remove all memberships of ali
- membership = mHandler.findMembershipByUserGroupAndType(ali,"/testGroup", membershipType);
- mHandler.removeMembership(membership.getId(), true);
-
- // we have 2 membership types * and type
- assertEquals(1, mHandler.findMembershipTypesByGroup("/testGroup").size());
- } catch (UnsupportedOperationException unsupportedOperationException) {
- //Expected if this function was not implemented
- }
- }
-
-
- /**
- * Find membership by group.
- */
- public void testFindMembershipsByGroup() throws Exception
- {
- Group g = gHandler.findGroupById("/platform/users");
- assertSizeEquals(4, mHandler.findMembershipsByGroup(g));
-
- // try to find for non-existing group
- g = gHandler.createGroupInstance();
- g.setGroupName(groupName1);
- g.setLabel("label");
- gHandler.addChild(null, g, false);
- assertEquals(g.getId(), gHandler.findGroupById("/" + groupName1).getId());
- g = gHandler.removeGroup(g, false);
- assertSizeEquals(0, mHandler.findMembershipsByGroup(g));
-
- // Check the listener's counters
- assertEquals(0, listener.preSaveNew);
- assertEquals(0, listener.postSaveNew);
- assertEquals(0, listener.preSave);
- assertEquals(0, listener.postSave);
- assertEquals(0, listener.preDelete);
- assertEquals(0, listener.postDelete);
- }
-
- /**
- * Find membership by group.
- */
- public void testFindAllMembershipsByGroup() throws Exception
- {
- Group g = gHandler.findGroupById("/platform/users");
- ListAccess memberships = mHandler.findAllMembershipsByGroup(g);
- assertSizeEquals(4, memberships);
-
- try
- {
- Membership[] m = memberships.load(0, 4);
- assertEquals(4, m.length);
- }
- catch (Exception e)
- {
- fail("Exception should not be thrown");
- }
-
- try
- {
- Membership[] m = memberships.load(1, 2);
- assertEquals(2, m.length);
- }
- catch (Exception e)
- {
- fail("Exception should not be thrown");
- }
- // test case removed from tck organization PLF-7379
- // no need to improve ldap and jdbc implementation : it will be removed on 5.0
-
- /* try
- {
- memberships.load(1, 4);
- fail("Exception should be thrown");
- }
- catch (Exception e)
- {
-
- }*/
-
- // try to find for non-existing group
- g = gHandler.createGroupInstance();
- g.setGroupName(groupName1);
- g.setLabel("label");
- gHandler.addChild(null, g, false);
- assertEquals(g.getId(), gHandler.findGroupById("/" + groupName1).getId());
- g = gHandler.removeGroup(g, true);
- assertSizeEquals(0, mHandler.findMembershipsByGroup(g));
-
- createMembership(userName, groupName1, membershipType);
-
- g = gHandler.findGroupById("/" + groupName1);
-
- assertSizeEquals(1, mHandler.findAllMembershipsByGroup(g));
-
- Membership m;
- assertNotNull(m = mHandler.findMembershipByUserGroupAndType(userName, "/" + groupName1, membershipType));
-
- mHandler.linkMembership(uHandler.findUserByName(userName), g,
- mtHandler.findMembershipType(MembershipTypeHandler.ANY_MEMBERSHIP_TYPE), true);
-
- assertSizeEquals(2, mHandler.findAllMembershipsByGroup(g));
-
- Set membershipTypes = new HashSet();
- for (Membership mem : mHandler.findAllMembershipsByGroup(g).load(0, 2))
- {
- membershipTypes.add(mem.getMembershipType());
- }
- assertTrue(membershipTypes.contains(membershipType));
- assertTrue(membershipTypes.contains(MembershipTypeHandler.ANY_MEMBERSHIP_TYPE));
-
- mHandler.removeMembership(m.getId(), true);
-
- assertSizeEquals(1, mHandler.findAllMembershipsByGroup(g));
-
- assertNotNull(m =
- mHandler.findMembershipByUserGroupAndType(userName, "/" + groupName1,
- MembershipTypeHandler.ANY_MEMBERSHIP_TYPE));
-
- mHandler.removeMembership(m.getId(), true);
-
- assertSizeEquals(0, mHandler.findAllMembershipsByGroup(g));
-
- createMembership(userName + "2", groupName2, membershipType + "2");
-
- g = gHandler.findGroupById("/" + groupName2);
-
- assertSizeEquals(1, mHandler.findAllMembershipsByGroup(g));
-
- mHandler.removeMembershipByUser(userName + "2", true);
-
- assertSizeEquals(0, mHandler.findAllMembershipsByGroup(g));
-
- createMembership(userName + "3", groupName2 + "3", membershipType + "3");
-
- g = gHandler.findGroupById("/" + groupName2 + "3");
-
- assertSizeEquals(1, mHandler.findAllMembershipsByGroup(g));
-
- uHandler.removeUser(userName + "3", false);
-
- assertSizeEquals(0, mHandler.findAllMembershipsByGroup(g));
-
- createMembership(userName + "4", groupName2 + "4", membershipType + "4");
-
- g = gHandler.findGroupById("/" + groupName2 + "4");
-
- assertSizeEquals(1, mHandler.findAllMembershipsByGroup(g));
-
- gHandler.removeGroup(gHandler.findGroupById("/" + groupName2 + "4"), false);
-
- assertSizeEquals(0, mHandler.findAllMembershipsByGroup(g));
-
- // Check the listener's counters
- assertEquals(5, listener.preSaveNew);
- assertEquals(5, listener.postSaveNew);
- assertEquals(0, listener.preSave);
- assertEquals(0, listener.postSave);
- assertEquals(3, listener.preDelete);
- assertEquals(3, listener.postDelete);
- }
-
- /**
- * Find all memberships by user.
- */
- public void testFindMembershipsByUser() throws Exception
- {
- assertSizeEquals(3, mHandler.findMembershipsByUser("john"));
- assertSizeEquals(0, mHandler.findMembershipsByUser("not-existed-user"));
-
- createMembership(userName, groupName1, membershipType);
-
- assertSizeEquals(1, mHandler.findMembershipsByUser(userName));
-
- Membership m;
- assertNotNull(m = mHandler.findMembershipByUserGroupAndType(userName, "/" + groupName1, membershipType));
-
- mHandler.linkMembership(uHandler.findUserByName(userName), gHandler.findGroupById("/" + groupName1),
- mtHandler.findMembershipType(MembershipTypeHandler.ANY_MEMBERSHIP_TYPE), true);
-
- assertSizeEquals(2, mHandler.findMembershipsByUser(userName));
-
- Set membershipTypes = new HashSet();
- for (Membership mem : mHandler.findMembershipsByUser(userName))
- {
- membershipTypes.add(mem.getMembershipType());
- }
- assertTrue(membershipTypes.contains(membershipType));
- assertTrue(membershipTypes.contains(MembershipTypeHandler.ANY_MEMBERSHIP_TYPE));
-
- mHandler.removeMembership(m.getId(), true);
-
- assertSizeEquals(1, mHandler.findMembershipsByUser(userName));
-
- assertNotNull(m =
- mHandler.findMembershipByUserGroupAndType(userName, "/" + groupName1,
- MembershipTypeHandler.ANY_MEMBERSHIP_TYPE));
-
- mHandler.removeMembership(m.getId(), true);
-
- assertSizeEquals(0, mHandler.findMembershipsByUser(userName));
-
- createMembership(userName + "2", groupName2, membershipType + "2");
-
- assertSizeEquals(1, mHandler.findMembershipsByUser(userName + "2"));
-
- mHandler.removeMembershipByUser(userName + "2", true);
-
- assertSizeEquals(0, mHandler.findMembershipsByUser(userName + "2"));
-
- createMembership(userName + "3", groupName2 + "3", membershipType + "3");
-
- assertSizeEquals(1, mHandler.findMembershipsByUser(userName + "3"));
-
- uHandler.removeUser(userName + "3", false);
-
- assertSizeEquals(0, mHandler.findMembershipsByUser(userName + "3"));
-
- createMembership(userName + "4", groupName2 + "4", membershipType + "4");
-
- assertSizeEquals(1, mHandler.findMembershipsByUser(userName + "4"));
-
- gHandler.removeGroup(gHandler.findGroupById("/" + groupName2 + "4"), false);
-
- assertSizeEquals(0, mHandler.findMembershipsByUser(userName + "4"));
-
- // Check the listener's counters
- assertEquals(5, listener.preSaveNew);
- assertEquals(5, listener.postSaveNew);
- assertEquals(0, listener.preSave);
- assertEquals(0, listener.postSave);
- assertEquals(3, listener.preDelete);
- assertEquals(3, listener.postDelete);
- }
-
- /**
- * Find all membership by user and group.
- */
- public void testFindMembershipsByUserAndGroup() throws Exception
- {
- assertSizeEquals(1, mHandler.findMembershipsByUserAndGroup("john", "/platform/users"));
-
- // try to find not existed membership. We are supposed to get null instead of Exception
- try
- {
- assertSizeEquals(0, mHandler.findMembershipsByUserAndGroup("non-existed-john", "/platform/users"));
- }
- catch (Exception e)
- {
- fail("Exception should not be thrown");
- }
-
- try
- {
- assertSizeEquals(0, mHandler.findMembershipsByUserAndGroup("john", "/non-existed-group"));
- }
- catch (Exception e)
- {
- fail("Exception should not be thrown");
- }
-
- createMembership(userName, groupName1, membershipType);
-
- assertSizeEquals(1, mHandler.findMembershipsByUserAndGroup(userName, "/" + groupName1));
-
- Membership m = mHandler.findMembershipByUserGroupAndType(userName, "/" + groupName1, membershipType);
- assertNotNull(m);
- assertEquals(membershipType, m.getMembershipType());
-
- mHandler.linkMembership(uHandler.findUserByName(userName), gHandler.findGroupById("/" + groupName1),
- mtHandler.findMembershipType(MembershipTypeHandler.ANY_MEMBERSHIP_TYPE), true);
-
- assertSizeEquals(2, mHandler.findMembershipsByUserAndGroup(userName, "/" + groupName1));
-
- Set membershipTypes = new HashSet();
- for (Membership mem : mHandler.findMembershipsByUserAndGroup(userName, "/" + groupName1))
- {
- membershipTypes.add(mem.getMembershipType());
- }
- assertTrue(membershipTypes.contains(membershipType));
- assertTrue(membershipTypes.contains(MembershipTypeHandler.ANY_MEMBERSHIP_TYPE));
-
- m = mHandler.removeMembership(m.getId(), true);
- assertNotNull(m);
- assertEquals(membershipType, m.getMembershipType());
-
- assertSizeEquals(1, mHandler.findMembershipsByUserAndGroup(userName, "/" + groupName1));
-
- m =
- mHandler.findMembershipByUserGroupAndType(userName, "/" + groupName1,
- MembershipTypeHandler.ANY_MEMBERSHIP_TYPE);
- assertNotNull(m);
- assertEquals(MembershipTypeHandler.ANY_MEMBERSHIP_TYPE, m.getMembershipType());
-
- m = mHandler.removeMembership(m.getId(), true);
-
- assertNotNull(m);
- assertEquals(MembershipTypeHandler.ANY_MEMBERSHIP_TYPE, m.getMembershipType());
-
- assertSizeEquals(0, mHandler.findMembershipsByUserAndGroup(userName, "/" + groupName1));
-
- createMembership(userName + "2", groupName2, membershipType + "2");
-
- assertSizeEquals(1, mHandler.findMembershipsByUserAndGroup(userName + "2", "/" + groupName2));
-
- mHandler.removeMembershipByUser(userName + "2", true);
-
- assertSizeEquals(0, mHandler.findMembershipsByUserAndGroup(userName + "2", "/" + groupName2));
-
- createMembership(userName + "3", groupName2 + "3", membershipType + "3");
-
- assertSizeEquals(1, mHandler.findMembershipsByUserAndGroup(userName + "3", "/" + groupName2 + "3"));
-
- uHandler.removeUser(userName + "3", false);
-
- assertSizeEquals(0, mHandler.findMembershipsByUserAndGroup(userName + "3", "/" + groupName2 + "3"));
-
- createMembership(userName + "4", groupName2 + "4", membershipType + "4");
-
- assertSizeEquals(1, mHandler.findMembershipsByUserAndGroup(userName + "4", "/" + groupName2 + "4"));
-
- gHandler.removeGroup(gHandler.findGroupById("/" + groupName2 + "4"), false);
-
- assertSizeEquals(0, mHandler.findMembershipsByUserAndGroup(userName + "4", "/" + groupName2 + "4"));
-
- // Check the listener's counters
- assertEquals(5, listener.preSaveNew);
- assertEquals(5, listener.postSaveNew);
- assertEquals(0, listener.preSave);
- assertEquals(0, listener.postSave);
- assertEquals(3, listener.preDelete);
- assertEquals(3, listener.postDelete);
- }
-
- /**
- * Link membership.
- */
- public void testLinkMembership() throws Exception
- {
- createUser(userName);
- createGroup(null, groupName1, "label", "desc");
- createMembershipType(membershipType, "desc");
-
- // link membership
- mHandler.linkMembership(uHandler.findUserByName(userName), gHandler.findGroupById("/" + groupName1),
- mtHandler.findMembershipType(membershipType), true);
-
- Membership m = mHandler.findMembershipByUserGroupAndType(userName, "/" + groupName1, membershipType);
- assertNotNull(m);
-
- // try to create already existed membership. Exception should not be thrown
- try
- {
- mHandler.linkMembership(uHandler.findUserByName(userName), gHandler.findGroupById("/" + groupName1),
- mtHandler.findMembershipType(membershipType), true);
- }
- catch (Exception e)
- {
- fail("Exception should not be thrown");
- }
-
- // we expect only 1 membership record
- assertEquals(1, mHandler.findMembershipsByUser(userName).size());
-
- // test deprecated memthod create membership
- mHandler.removeMembership(m.getId(), true);
- mHandler.createMembership(m, true);
- m = mHandler.findMembershipByUserGroupAndType(userName, "/" + groupName1, membershipType);
- assertNotNull(m);
-
- // try to link membership with not existed entries. We are supposed to get Exception
- Group group = createGroupInstance("not-existed-group");
- try
- {
- mHandler.linkMembership(uHandler.findUserByName(userName), group,
- mtHandler.findMembershipType(membershipType), true);
- fail("Exception should be thrown");
- }
- catch (Exception e)
- {
- }
-
- User user = uHandler.createUserInstance("not-existed-user");
- try
- {
- mHandler.linkMembership(user, gHandler.findGroupById("/" + groupName1),
- mtHandler.findMembershipType(membershipType), true);
- fail("Exception should be thrown");
- }
- catch (Exception e)
- {
- }
-
- MembershipType mt = mtHandler.createMembershipTypeInstance();
- mt.setName("not-existed-mt");
- try
- {
- mHandler.linkMembership(uHandler.findUserByName(userName), gHandler.findGroupById("/" + groupName1), mt, true);
- fail("Exception should be thrown");
- }
- catch (Exception e)
- {
- }
-
- try
- {
- mHandler.linkMembership(uHandler.findUserByName(userName), null, mtHandler.findMembershipType(membershipType),
- true);
- fail("Exception should be thrown");
- }
- catch (Exception e)
- {
- }
-
- try
- {
- mHandler.linkMembership(null, gHandler.findGroupById("/" + groupName1),
- mtHandler.findMembershipType(membershipType), true);
- fail("Exception should be thrown");
- }
- catch (Exception e)
- {
- }
-
- try
- {
- mHandler.linkMembership(uHandler.findUserByName(userName), gHandler.findGroupById("/" + groupName1), null,
- true);
- fail("Exception should be thrown");
- }
- catch (Exception e)
- {
- }
-
- mHandler.linkMembership(uHandler.findUserByName(userName), gHandler.findGroupById("/" + groupName1),
- mtHandler.findMembershipType(MembershipTypeHandler.ANY_MEMBERSHIP_TYPE), true);
- m =
- mHandler.findMembershipByUserGroupAndType(userName, "/" + groupName1,
- MembershipTypeHandler.ANY_MEMBERSHIP_TYPE);
- assertNotNull(m);
-
- // Check the listener's counters
- assertEquals(3, listener.preSaveNew);
- assertEquals(3, listener.postSaveNew);
- assertEquals(0, listener.preSave);
- assertEquals(0, listener.postSave);
- assertEquals(1, listener.preDelete);
- assertEquals(1, listener.postDelete);
- }
-
- /**
- * Remove membership
- */
- public void testRemoveMembership() throws Exception
- {
-
- createMembership(userName, groupName1, membershipType);
- Membership m = mHandler.findMembershipByUserGroupAndType(userName, "/" + groupName1, membershipType);
-
- assertNotNull(m);
-
- m = mHandler.removeMembership(m.getId(), true);
- assertEquals(m.getGroupId(), "/" + groupName1);
- assertEquals(m.getMembershipType(), membershipType);
- assertEquals(m.getUserName(), userName);
-
- assertNull(mHandler.findMembershipByUserGroupAndType(userName, "/" + groupName1, membershipType));
-
- // try to remove not existed membership. We are supposed to get "null" instead of Exception
- try
- {
- assertNull(mHandler.removeMembership("not-existed-id", true));
- }
- catch (Exception e)
- {
- fail("Exception should not be thrown");
- }
-
- // Check the listener's counters
- assertEquals(1, listener.preSaveNew);
- assertEquals(1, listener.postSaveNew);
- assertEquals(0, listener.preSave);
- assertEquals(0, listener.postSave);
- assertEquals(1, listener.preDelete);
- assertEquals(1, listener.postDelete);
- }
-
- /**
- * Remove membership by user.
- */
- public void testRemoveMembershipByUser() throws Exception
- {
- createMembership(userName, groupName1, membershipType);
- assertNotNull(mHandler.findMembershipByUserGroupAndType(userName, "/" + groupName1, membershipType));
-
- mHandler.linkMembership(uHandler.findUserByName(userName), gHandler.findGroupById("/" + groupName1),
- mtHandler.findMembershipType(MembershipTypeHandler.ANY_MEMBERSHIP_TYPE), true);
-
- assertNotNull(mHandler.findMembershipByUserGroupAndType(userName, "/" + groupName1,
- MembershipTypeHandler.ANY_MEMBERSHIP_TYPE));
-
- Collection memberships;
- assertSizeEquals(2, memberships = mHandler.removeMembershipByUser(userName, true));
- Set membershipNames = new HashSet();
- for (Membership m : memberships)
- {
- membershipNames.add(m.getMembershipType());
- }
- assertTrue(membershipNames.contains(membershipType));
- assertTrue(membershipNames.contains(MembershipTypeHandler.ANY_MEMBERSHIP_TYPE));
-
- assertNull(mHandler.findMembershipByUserGroupAndType(userName, "/" + groupName1, membershipType));
- assertNull(mHandler.findMembershipByUserGroupAndType(userName, "/" + groupName1,
- MembershipTypeHandler.ANY_MEMBERSHIP_TYPE));
-
- assertSizeEquals(0, mHandler.findMembershipsByUserAndGroup(userName, "/" + groupName1));
- assertSizeEquals(0, mHandler.findMembershipsByUser(userName));
-
- assertNull(mHandler.findMembershipByUserGroupAndType(userName, "/group", membershipType));
-
- // try to remove memberships by not existed users. We are supposed to get empty list instead of Exception
- try
- {
- assertSizeEquals(0, mHandler.removeMembershipByUser("not-existed-user", true));
- }
- catch (Exception e)
- {
- fail("Exception should not be thrown");
- }
-
- // Check the listener's counters
- assertEquals(2, listener.preSaveNew);
- assertEquals(2, listener.postSaveNew);
- assertEquals(0, listener.preSave);
- assertEquals(0, listener.postSave);
- assertEquals(2, listener.preDelete);
- assertEquals(2, listener.postDelete);
- }
-
- /**
- * Find group by membership.
- */
- public void testFindGroupByMembership() throws Exception
- {
- createMembership(userName, groupName1, membershipType);
- assertSizeEquals(1, gHandler.findGroupByMembership(userName, membershipType));
-
- // try to find groups by not existed entries. We supposed to get empty list instead of Exception
- try
- {
- assertSizeEquals(0, gHandler.findGroupByMembership("not-existed-john", membershipType));
- }
- catch (Exception e)
- {
- fail("Exception should not be thrown");
- }
-
- mHandler.removeMembershipByUser(userName, true);
- try
- {
- assertSizeEquals(0, gHandler.findGroupByMembership(userName, membershipType));
- }
- catch (Exception e)
- {
- fail("Exception should not be thrown");
- }
-
- createMembership(userName + "2", groupName2, "foo");
-
- assertSizeEquals(1, gHandler.findGroupByMembership(userName + "2", "foo"));
-
- uHandler.removeUser(userName + "2", false);
-
- try
- {
- assertSizeEquals(0, gHandler.findGroupByMembership(userName + "2", "foo"));
- }
- catch (Exception e)
- {
- fail("Exception should not be thrown");
- }
-
- // Check the listener's counters
- assertEquals(2, listener.preSaveNew);
- assertEquals(2, listener.postSaveNew);
- assertEquals(0, listener.preSave);
- assertEquals(0, listener.postSave);
- assertEquals(1, listener.preDelete);
- assertEquals(1, listener.postDelete);
- }
-
- /**
- * Find groups of user.
- */
- public void testFindGroupsOfUser() throws Exception
- {
- assertSizeEquals(3, gHandler.findGroupsOfUser("john"));
-
- // try to find groups by not existed entries. We supposed to get empty list instead of Exception
- try
- {
- assertSizeEquals(0, gHandler.findGroupsOfUser("not-existed-james"));
- }
- catch (Exception e)
- {
- fail("Exception should not be thrown");
- }
-
- // Check the listener's counters
- assertEquals(0, listener.preSaveNew);
- assertEquals(0, listener.postSaveNew);
- assertEquals(0, listener.preSave);
- assertEquals(0, listener.postSave);
- assertEquals(0, listener.preDelete);
- assertEquals(0, listener.postDelete);
- }
-
- /**
- * Find users by group.
- */
- public void testFindUsersByGroupId() throws Exception
- {
- ListAccess users = uHandler.findUsersByGroupId("/platform/users");
-
- assertSizeEquals(4, users);
-
- for (User u : users.load(0, users.getSize()))
- {
- User currentUrer = uHandler.findUserByName(u.getUserName());
- assertNotNull(currentUrer);
-
- assertEquals(currentUrer.getUserName(), u.getUserName());
- assertEquals(currentUrer.getFirstName(), u.getFirstName());
- assertEquals(currentUrer.getLastName(), u.getLastName());
- assertEquals(currentUrer.getEmail(), u.getEmail());
- assertEquals(currentUrer.getOrganizationId(), u.getOrganizationId());
- }
-
- // try to find users by not existed entries. We supposed to get empty list instead of Exception
- try
- {
- assertSizeEquals(0, uHandler.findUsersByGroupId("/not-existed-group"));
- }
- catch (Exception e)
- {
- fail("Exception should not be thrown");
- }
-
- User[] allPage = users.load(0, 4);
- User[] page1 = users.load(0, 2);
- User[] page2 = users.load(2, 2);
-
- assertEquals(allPage[0].getUserName(), page1[0].getUserName());
- assertEquals(allPage[1].getUserName(), page1[1].getUserName());
- assertEquals(allPage[2].getUserName(), page2[0].getUserName());
- assertEquals(allPage[3].getUserName(), page2[1].getUserName());
-
- try
- {
- users.load(0, 0);
- }
- catch (Exception e)
- {
- fail("Exception is not expected");
- }
-
- // try to load more than exist
- try
- {
- users.load(0, 5);
- fail("Exception is expected");
- }
- catch (Exception e)
- {
- }
-
- // try to load more than exist
- try
- {
- users.load(1, 4);
- fail("Exception is expected");
- }
- catch (Exception e)
- {
- }
-
- // Check the listener's counters
- assertEquals(0, listener.preSaveNew);
- assertEquals(0, listener.postSaveNew);
- assertEquals(0, listener.preSave);
- assertEquals(0, listener.postSave);
- assertEquals(0, listener.preDelete);
- assertEquals(0, listener.postDelete);
- }
-
- /**
- * Find users by group.
- */
- public void testFindUsersByGroup() throws Exception
- {
- PageList usersList = uHandler.findUsersByGroup("/platform/users");
-
- assertSizeEquals(4, usersList.getAll());
-
- for (User u : usersList.getAll())
- {
- User currentUrer = uHandler.findUserByName(u.getUserName());
- assertNotNull(currentUrer);
-
- assertEquals(currentUrer.getUserName(), u.getUserName());
- assertEquals(currentUrer.getFirstName(), u.getFirstName());
- assertEquals(currentUrer.getLastName(), u.getLastName());
- assertEquals(currentUrer.getEmail(), u.getEmail());
- assertEquals(currentUrer.getOrganizationId(), u.getOrganizationId());
- }
-
- // try to find users by not existed entries. We supposed to get empty list instead of Exception
- try
- {
- assertSizeEquals(0, uHandler.findUsersByGroup("/not-existed-group").getAll());
- }
- catch (Exception e)
- {
- fail("Exception should not be thrown");
- }
-
- // Check the listener's counters
- assertEquals(0, listener.preSaveNew);
- assertEquals(0, listener.postSaveNew);
- assertEquals(0, listener.preSave);
- assertEquals(0, listener.postSave);
- assertEquals(0, listener.preDelete);
- assertEquals(0, listener.postDelete);
- }
-
- /**
- * Remove membership type.
- */
- public void testRemoveMembershipType() throws Exception
- {
- createMembership(userName, groupName1, membershipType);
-
- mtHandler.removeMembershipType("type", true);
- assertNull(mtHandler.findMembershipType("type"));
- assertNull(mHandler.findMembershipByUserGroupAndType(userName, "/" + groupName1, membershipType));
-
- // Check the listener's counters
- assertEquals(1, listener.preSaveNew);
- assertEquals(1, listener.postSaveNew);
- assertEquals(0, listener.preSave);
- assertEquals(0, listener.postSave);
- assertEquals(0, listener.preDelete);
- assertEquals(0, listener.postDelete);
- }
-
- /**
- * Remove group.
- */
- public void testRemoveGroup() throws Exception
- {
- createMembership(userName, groupName1, membershipType);
-
- gHandler.removeGroup(gHandler.findGroupById("/" + groupName1), true);
-
- assertNull(gHandler.findGroupById("/" + groupName1));
- assertNull(mHandler.findMembershipByUserGroupAndType(userName, "/" + groupName1, membershipType));
-
- // try to remove not existed groups. We are supposed to get Exception
- try
- {
- Group group = createGroupInstance("not-existed-group");
-
- gHandler.removeGroup(group, true);
-
- fail("Exception should be thrown");
- }
- catch (Exception e)
- {
- }
-
- try
- {
- gHandler.removeGroup(null, true);
- fail("Exception should be thrown");
- }
- catch (Exception e)
- {
- }
-
- // Check the listener's counters
- assertEquals(1, listener.preSaveNew);
- assertEquals(1, listener.postSaveNew);
- assertEquals(0, listener.preSave);
- assertEquals(0, listener.postSave);
- assertEquals(0, listener.preDelete);
- assertEquals(0, listener.postDelete);
- }
-
- /**
- * Remove user.
- */
- public void testRemoveUser() throws Exception
- {
- String userName = "testRemoveUser";
- createMembership(userName, groupName1, membershipType);
-
- uHandler.removeUser(userName, true);
-
- // Check the listener's counters
- assertEquals(1, listener.preSaveNew);
- assertEquals(1, listener.postSaveNew);
- assertEquals(0, listener.preSave);
- assertEquals(0, listener.postSave);
- assertEquals(0, listener.preDelete);
- assertEquals(0, listener.postDelete);
- }
-
- /**
- * Test get listeners.
- */
- public void testGetListeners() throws Exception
- {
- if (mHandler instanceof MembershipEventListenerHandler)
- {
- List list = ((MembershipEventListenerHandler)mHandler).getMembershipListeners();
- try
- {
- list.clear();
- fail("We are not supposed to change list of listners");
- }
- catch (Exception e)
- {
- }
- }
- }
-
- private static class MyMembershipEventListener extends MembershipEventListener
- {
- public int preSaveNew, postSaveNew;
-
- public int preSave, postSave;
-
- public int preDelete, postDelete;
-
- @Override
- public void preSave(Membership m, boolean isNew) throws Exception
- {
- if (m == null)
- return;
- if (!m.getMembershipType().startsWith("type") && !m.getMembershipType().equals("foo")
- && !m.getMembershipType().equals(MembershipTypeHandler.ANY_MEMBERSHIP_TYPE))
- {
- throw new Exception("Unexpected membership type, it should be 'type' or '"
- + MembershipTypeHandler.ANY_MEMBERSHIP_TYPE + "' but was " + m.getMembershipType());
- }
- if (isNew)
- preSaveNew++;
- else
- preSave++;
- }
-
- @Override
- public void postSave(Membership m, boolean isNew) throws Exception
- {
- if (m == null)
- return;
- if (isNew)
- postSaveNew++;
- else
- postSave++;
- }
-
- @Override
- public void preDelete(Membership m) throws Exception
- {
- if (m == null)
- return;
- preDelete++;
- }
-
- @Override
- public void postDelete(Membership m) throws Exception
- {
- if (m == null)
- return;
- postDelete++;
- }
- }
-}
diff --git a/exo.core.component.organization.tests/src/test/java/org/exoplatform/services/tck/organization/TestMembershipTypeHandler.java b/exo.core.component.organization.tests/src/test/java/org/exoplatform/services/tck/organization/TestMembershipTypeHandler.java
deleted file mode 100644
index eee4da15b..000000000
--- a/exo.core.component.organization.tests/src/test/java/org/exoplatform/services/tck/organization/TestMembershipTypeHandler.java
+++ /dev/null
@@ -1,417 +0,0 @@
-/**
- *
- */
-/*
- * Copyright (C) 2003-2007 eXo Platform SAS.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License
- * as published by the Free Software Foundation; either version 3
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, see.
- */
-package org.exoplatform.services.tck.organization;
-
-import org.exoplatform.services.organization.MembershipType;
-import org.exoplatform.services.organization.MembershipTypeEventListener;
-import org.exoplatform.services.organization.MembershipTypeEventListenerHandler;
-import org.exoplatform.services.organization.MembershipTypeHandler;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * Created by The eXo Platform SAS.
- *
- * @author Anatoliy Bazko
- * @version $Id: TestMembershipTypeHandlerImpl.java 111 2008-11-11 11:11:11Z $
- */
-public class TestMembershipTypeHandler extends AbstractOrganizationServiceTest
-{
- private MyMembershipTypeEventListener listener;
-
- @Override
- public void setUp() throws Exception
- {
- super.setUp();
- listener = new MyMembershipTypeEventListener();
- mtHandler.addMembershipTypeEventListener(listener);
- }
-
- @Override
- public void tearDown() throws Exception
- {
- mtHandler.removeMembershipTypeEventListener(listener);
- super.tearDown();
- }
-
- /**
- * Find membership type.
- */
- public void testFindMembershipType() throws Exception
- {
- MembershipType mt = mtHandler.findMembershipType("manager");
- assertNotNull(mt);
- assertEquals(mt.getName(), "manager");
- assertEquals(mt.getDescription(), "manager membership type");
-
- // try to find not existed membership type
- assertNull(mtHandler.findMembershipType("manager_"));
-
- // Check the listener's counters
- assertEquals(0, listener.preSaveNew);
- assertEquals(0, listener.postSaveNew);
- assertEquals(0, listener.preSave);
- assertEquals(0, listener.postSave);
- assertEquals(0, listener.preDelete);
- assertEquals(0, listener.postDelete);
- }
-
- /**
- * Find membership types.
- */
- public void testFindMembershipTypes() throws Exception
- {
- int initSize = 4;
- assertEquals(MembershipTypeHandler.ANY_MEMBERSHIP_TYPE, mtHandler.findMembershipTypes().iterator()
- .next().getName());
-
- assertSizeEquals(initSize, mtHandler.findMembershipTypes());
-
- createMembershipType("type2", "membership type2");
- assertSizeEquals(initSize + 1, mtHandler.findMembershipTypes());
-
- mtHandler.removeMembershipType("type2", true);
- assertSizeEquals(initSize, mtHandler.findMembershipTypes());
-
- // Check the listener's counters
- assertEquals(1, listener.preSaveNew);
- assertEquals(1, listener.postSaveNew);
- assertEquals(0, listener.preSave);
- assertEquals(0, listener.postSave);
- assertEquals(1, listener.preDelete);
- assertEquals(1, listener.postDelete);
- }
-
- /**
- * Remove membership type.
- */
- public void testRemoveMembershipType() throws Exception
- {
- createMembership(userName, groupName1, membershipType);
- assertEquals("We expect to find single membership for user " + userName, 1,
- mHandler.findMembershipsByUser(userName).size());
-
- MembershipType mt = mtHandler.removeMembershipType("type", true);
- assertEquals(mt.getName(), membershipType);
- assertNull(mtHandler.findMembershipType("type"));
- assertEquals("We expect to find no membership for user " + userName, 0, mHandler.findMembershipsByUser(userName)
- .size());
-
- // try to remove not existed membership type. We are supposed to get "null" instead of Exception
- try
- {
- assertNull(mtHandler.removeMembershipType("not-existed-mt", true));
- fail("Exception should be thrown");
- }
- catch (Exception e)
- {
- }
-
- assertNotNull(mtHandler.findMembershipType(MembershipTypeHandler.ANY_MEMBERSHIP_TYPE));
-
- try
- {
- mtHandler.removeMembershipType(MembershipTypeHandler.ANY_MEMBERSHIP_TYPE, true);
- }
- catch (Exception e)
- {
- fail("Exception should not be thrown");
- }
- assertNull(mtHandler.findMembershipType(MembershipTypeHandler.ANY_MEMBERSHIP_TYPE));
- try
- {
- assertNull(mtHandler.removeMembershipType(MembershipTypeHandler.ANY_MEMBERSHIP_TYPE, true));
- fail("Exception should be thrown");
- }
- catch (Exception e)
- {
- }
- assertNull(mtHandler.findMembershipType(MembershipTypeHandler.ANY_MEMBERSHIP_TYPE));
-
- MembershipType anyMT = mtHandler.createMembershipTypeInstance();
- anyMT.setName(MembershipTypeHandler.ANY_MEMBERSHIP_TYPE);
- anyMT.setDescription("desc");
- mtHandler.createMembershipType(anyMT, true);
-
- assertNotNull(mtHandler.findMembershipType(MembershipTypeHandler.ANY_MEMBERSHIP_TYPE));
-
- // Check the listener's counters
- assertEquals(2, listener.preSaveNew);
- assertEquals(2, listener.postSaveNew);
- assertEquals(0, listener.preSave);
- assertEquals(0, listener.postSave);
- assertEquals(2, listener.preDelete);
- assertEquals(2, listener.postDelete);
- }
-
- /**
- * Save membership type.
- */
- public void testSaveMembershipType() throws Exception
- {
- createMembershipType(membershipType, "desc");
- MembershipType mt = mtHandler.findMembershipType(membershipType);
-
- // change description
- mt.setDescription("newDesc");
- mtHandler.saveMembershipType(mt, true);
-
- mt = mtHandler.findMembershipType(membershipType);
- assertEquals(mt.getDescription(), "newDesc");
-
- MembershipType anyMT = mtHandler.findMembershipType(MembershipTypeHandler.ANY_MEMBERSHIP_TYPE);
- assertNotNull(anyMT);
-
- try
- {
- mtHandler.saveMembershipType(anyMT, true);
- }
- catch (Exception e)
- {
- fail("Exception should not be thrown");
- }
-
- // Check the listener's counters
- assertEquals(1, listener.preSaveNew);
- assertEquals(1, listener.postSaveNew);
- assertEquals(2, listener.preSave);
- assertEquals(2, listener.postSave);
- assertEquals(0, listener.preDelete);
- assertEquals(0, listener.postDelete);
- }
-
- public void testCreateMembershipType() throws Exception
- {
- createMembershipType(membershipType, "desc");
- MembershipType mt = mtHandler.findMembershipType(membershipType);
- assertNotNull(mt);
-
- try
- {
- mtHandler.removeMembershipType(MembershipTypeHandler.ANY_MEMBERSHIP_TYPE, true);
- }
- catch (Exception e)
- {
- fail("Exception should not be thrown");
- }
-
- assertNull(mtHandler.findMembershipType(MembershipTypeHandler.ANY_MEMBERSHIP_TYPE));
-
- MembershipType anyMT = mtHandler.createMembershipTypeInstance();
- anyMT.setName(MembershipTypeHandler.ANY_MEMBERSHIP_TYPE);
- anyMT.setDescription("desc");
- try
- {
- mtHandler.createMembershipType(anyMT, true);
- }
- catch (Exception e)
- {
- fail("Exception should not be thrown");
- }
-
- assertNotNull(mtHandler.findMembershipType(MembershipTypeHandler.ANY_MEMBERSHIP_TYPE));
-
- // Check the listener's counters
- assertEquals(2, listener.preSaveNew);
- assertEquals(2, listener.postSaveNew);
- assertEquals(0, listener.preSave);
- assertEquals(0, listener.postSave);
- assertEquals(1, listener.preDelete);
- assertEquals(1, listener.postDelete);
- }
-
- /**
- * Test get listeners.
- */
- public void testGetListeners() throws Exception
- {
- if (mtHandler instanceof MembershipTypeEventListenerHandler)
- {
- List list =
- ((MembershipTypeEventListenerHandler)mtHandler).getMembershipTypeListeners();
-
- try
- {
- list.clear();
- fail("We are not supposed to change list of listeners");
- }
- catch (Exception e)
- {
- }
- }
- }
-
- /**
- * Test events.
- */
- public void testMembershipTypeEventListener() throws Exception
- {
- TesterMembershipTypeEventListener testListener = new TesterMembershipTypeEventListener();
- int currentSize = 1;
- if (mtHandler instanceof MembershipTypeEventListenerHandler)
- {
- List list =
- ((MembershipTypeEventListenerHandler)mtHandler).getMembershipTypeListeners();
-
- currentSize = list.size();
- }
- mtHandler.addMembershipTypeEventListener(testListener);
-
- if (mtHandler instanceof MembershipTypeEventListenerHandler)
- {
- List list =
- ((MembershipTypeEventListenerHandler)mtHandler).getMembershipTypeListeners();
-
- assertEquals(currentSize + 1, list.size());
- }
-
- // Create new membership type. In preSave event there is not recored in db.
- createMembershipType(membershipType, "desc");
-
- assertEquals(2, testListener.mtInEvent.size());
- assertEquals(2, testListener.mtInStorage.size());
-
- // preSave Event
- assertEquals(membershipType, testListener.mtInEvent.get(0).getName());
- assertNull(testListener.mtInStorage.get(0));
-
- // postSave Event
- assertEquals(membershipType, testListener.mtInEvent.get(1).getName());
- assertNotNull(testListener.mtInStorage.get(1));
- assertEquals(membershipType, testListener.mtInStorage.get(1).getName());
-
- testListener.mtInEvent.clear();
- testListener.mtInStorage.clear();
-
- // Modify membership type. In preSave event there is old record in storage.
- MembershipType mt = mtHandler.findMembershipType(membershipType);
- mt.setDescription("newDesc");
-
- mtHandler.saveMembershipType(mt, true);
-
- // preSave Event
- assertEquals(2, testListener.mtInEvent.size());
- assertEquals(2, testListener.mtInStorage.size());
-
- assertEquals("newDesc", testListener.mtInEvent.get(0).getDescription());
-
- // postSave Event
- assertEquals("newDesc", testListener.mtInEvent.get(1).getDescription());
- assertEquals("newDesc", testListener.mtInStorage.get(1).getDescription());
-
- testListener.mtInEvent.clear();
- testListener.mtInStorage.clear();
-
- // Remove membership type. In preDelete Event there is still record in storage
- mtHandler.removeMembershipType(membershipType, true);
-
- assertEquals(2, testListener.mtInEvent.size());
- assertEquals(2, testListener.mtInStorage.size());
-
- // preDelete Event
- assertEquals(membershipType, testListener.mtInEvent.get(0).getName());
- assertNotNull(testListener.mtInStorage.get(0));
-
- // postDelete Event
- assertEquals(membershipType, testListener.mtInEvent.get(1).getName());
- assertNull(testListener.mtInStorage.get(1));
-
- testListener.mtInEvent.clear();
- testListener.mtInStorage.clear();
-
- }
-
- private class TesterMembershipTypeEventListener extends MembershipTypeEventListener
- {
- List mtInEvent = new ArrayList();
-
- List mtInStorage = new ArrayList();
-
- public void preSave(MembershipType type, boolean isNew) throws Exception
- {
- mtInEvent.add(type);
- mtInStorage.add(mtHandler.findMembershipType(type.getName()));
- }
-
- public void postSave(MembershipType type, boolean isNew) throws Exception
- {
- mtInEvent.add(type);
- mtInStorage.add(mtHandler.findMembershipType(type.getName()));
- }
-
- public void preDelete(MembershipType type) throws Exception
- {
- mtInEvent.add(type);
- mtInStorage.add(mtHandler.findMembershipType(type.getName()));
- }
-
- public void postDelete(MembershipType type) throws Exception
- {
- mtInEvent.add(type);
- mtInStorage.add(mtHandler.findMembershipType(type.getName()));
- }
- }
-
- private static class MyMembershipTypeEventListener extends MembershipTypeEventListener
- {
- public int preSaveNew, postSaveNew;
- public int preSave, postSave;
- public int preDelete, postDelete;
-
- @Override
- public void preSave(MembershipType type, boolean isNew) throws Exception
- {
- if (type == null)
- return;
- if (isNew)
- preSaveNew++;
- else
- preSave++;
- }
-
- @Override
- public void postSave(MembershipType type, boolean isNew) throws Exception
- {
- if (type == null)
- return;
- if (isNew)
- postSaveNew++;
- else
- postSave++;
- }
-
- @Override
- public void preDelete(MembershipType type) throws Exception
- {
- if (type == null)
- return;
- preDelete++;
- }
-
- @Override
- public void postDelete(MembershipType type) throws Exception
- {
- if (type == null)
- return;
- postDelete++;
- }
- }
-}
diff --git a/exo.core.component.organization.tests/src/test/java/org/exoplatform/services/tck/organization/TestUserHandler.java b/exo.core.component.organization.tests/src/test/java/org/exoplatform/services/tck/organization/TestUserHandler.java
deleted file mode 100644
index 64896254d..000000000
--- a/exo.core.component.organization.tests/src/test/java/org/exoplatform/services/tck/organization/TestUserHandler.java
+++ /dev/null
@@ -1,1222 +0,0 @@
-/*
- * Copyright (C) 2003-2008 eXo Platform SAS.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License
- * as published by the Free Software Foundation; either version 3
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, see.
- */
-package org.exoplatform.services.tck.organization;
-
-import org.exoplatform.commons.utils.ListAccess;
-import org.exoplatform.container.xml.InitParams;
-import org.exoplatform.container.xml.ObjectParameter;
-import org.exoplatform.services.organization.DisabledUserException;
-import org.exoplatform.services.organization.Query;
-import org.exoplatform.services.organization.User;
-import org.exoplatform.services.organization.UserEventListener;
-import org.exoplatform.services.organization.UserEventListenerHandler;
-import org.exoplatform.services.organization.UserProfile;
-import org.exoplatform.services.organization.UserStatus;
-import org.exoplatform.services.organization.impl.NewUserConfig;
-import org.exoplatform.services.organization.impl.NewUserEventListener;
-
-import java.util.Calendar;
-import java.util.List;
-
-/**
- * Created by The eXo Platform SAS.
- *
- * @author Anatoliy Bazko
- * @version $Id: TestOrganizationService.java 111 2008-11-11 11:11:11Z $
- */
-public class TestUserHandler extends AbstractOrganizationServiceTest
-{
- private MyUserEventListener listener;
-
- @Override
- public void setUp() throws Exception
- {
- super.setUp();
- listener = new MyUserEventListener();
- uHandler.addUserEventListener(listener);
- }
-
- @Override
- public void tearDown() throws Exception
- {
- uHandler.removeUserEventListener(listener);
- super.tearDown();
- }
-
- /**
- * User authentication.
- */
- public void testAuthenticate() throws Exception
- {
- createUser("testAuthenticate");
-
- // authentication with existing user and correct password
- assertTrue(uHandler.authenticate("testAuthenticate", "pwdADDSomeSaltToBeCompliantWithSomeIS00"));
-
- // unknown user authentication
- assertFalse(uHandler.authenticate("testAuthenticate_", "pwdADDSomeSaltToBeCompliantWithSomeIS00"));
-
- // authentication with wrong password
- assertFalse(uHandler.authenticate("testAuthenticate", "pwdADDSomeSaltToBeCompliantWithSomeIS00_"));
-
- boolean unsupportedOperation = false;
- try
- {
- // Disable the user testAuthenticate
- uHandler.setEnabled("testAuthenticate", false, true);
-
- try
- {
- uHandler.authenticate("testAuthenticate", "pwdADDSomeSaltToBeCompliantWithSomeIS00");
- fail("A DisabledUserException was expected");
- }
- catch (DisabledUserException e)
- {
- // expected exception
- }
-
- // Enable the user testAuthenticate
- uHandler.setEnabled("testAuthenticate", true, true);
- assertTrue(uHandler.authenticate("testAuthenticate", "pwdADDSomeSaltToBeCompliantWithSomeIS00"));
- }
- catch (UnsupportedOperationException e)
- {
- // This operation can be unsupported
- unsupportedOperation = true;
- }
-
- // Remove the user testAuthenticate
- uHandler.removeUser("testAuthenticate", true);
-
- // The user testAuthenticate doesn't exist anymore thus the authentication should fail
- assertFalse(uHandler.authenticate("testAuthenticate", "pwdADDSomeSaltToBeCompliantWithSomeIS00"));
-
- // Check the listener's counters
- assertEquals(1, listener.preSaveNew);
- assertEquals(1, listener.postSaveNew);
- assertEquals(0, listener.preSave);
- assertEquals(0, listener.postSave);
- assertEquals(unsupportedOperation ? 0 : 2, listener.preSetEnabled);
- assertEquals(unsupportedOperation ? 0 : 2, listener.postSetEnabled);
- assertEquals(1, listener.preDelete);
- assertEquals(1, listener.postDelete);
- }
-
- /**
- * Find user by name.
- */
- public void testFindUserByName() throws Exception
- {
- createUser("testFindUserByName");
-
- // try to find existed user
- User u = uHandler.findUserByName("demo");
-
- assertNotNull(u);
- assertEquals("demo@localhost", u.getEmail());
- assertEquals("Demo", u.getFirstName());
- assertEquals("exo", u.getLastName());
- assertEquals("demo", u.getUserName());
- assertTrue(u.isEnabled());
-
- // try to find a non existing user. We are supposed to get "null" instead of Exception.
- try
- {
- assertNull(uHandler.findUserByName("not-existed-user"));
- }
- catch (Exception e)
- {
- fail("Exception should not be thrown");
- }
- try
- {
- assertNull(uHandler.findUserByName("not-existed-user", UserStatus.ENABLED));
- }
- catch (Exception e)
- {
- fail("Exception should not be thrown");
- }
- try
- {
- assertNull(uHandler.findUserByName("not-existed-user", UserStatus.DISABLED));
- }
- catch (Exception e)
- {
- fail("Exception should not be thrown");
- }
- try
- {
- assertNull(uHandler.findUserByName("not-existed-user", UserStatus.ANY));
- }
- catch (Exception e)
- {
- fail("Exception should not be thrown");
- }
-
- assertNotNull(uHandler.findUserByName("testFindUserByName"));
- assertTrue(uHandler.findUserByName("testFindUserByName").isEnabled());
- assertNotNull(uHandler.findUserByName("testFindUserByName", UserStatus.ENABLED));
- assertTrue(uHandler.findUserByName("testFindUserByName", UserStatus.ENABLED).isEnabled());
- assertNotNull(uHandler.findUserByName("testFindUserByName", UserStatus.ANY));
- assertTrue(uHandler.findUserByName("testFindUserByName", UserStatus.ANY).isEnabled());
-
- boolean unsupportedOperation = false;
- try
- {
- // Disable the user testFindUserByName
- uHandler.setEnabled("testFindUserByName", false, true);
-
- // We should not find the user testFindUserByName anymore from the normal method
- assertNull(uHandler.findUserByName("testFindUserByName"));
- assertNull(uHandler.findUserByName("testFindUserByName", UserStatus.ENABLED));
- // We should find it using the method that includes the disabled user account
- assertNotNull(uHandler.findUserByName("testFindUserByName", UserStatus.ANY));
- assertFalse(uHandler.findUserByName("testFindUserByName", UserStatus.ANY).isEnabled());
- // We should find it using the method that queries only the disabled user account
- assertNotNull(uHandler.findUserByName("testFindUserByName", UserStatus.DISABLED));
- assertFalse(uHandler.findUserByName("testFindUserByName", UserStatus.DISABLED).isEnabled());
-
- // Enable the user testFindUserByName
- uHandler.setEnabled("testFindUserByName", true, true);
-
- // We should find it again whatever the value of the parameter status
- assertNotNull(uHandler.findUserByName("testFindUserByName"));
- assertTrue(uHandler.findUserByName("testFindUserByName").isEnabled());
- assertNotNull(uHandler.findUserByName("testFindUserByName", UserStatus.ENABLED));
- assertTrue(uHandler.findUserByName("testFindUserByName", UserStatus.ENABLED).isEnabled());
- assertNotNull(uHandler.findUserByName("testFindUserByName", UserStatus.ANY));
- assertTrue(uHandler.findUserByName("testFindUserByName", UserStatus.ANY).isEnabled());
- // We should not find the user using the method that queries only the disabled user account
- assertNull(uHandler.findUserByName("testFindUserByName", UserStatus.DISABLED));
- }
- catch (UnsupportedOperationException e)
- {
- // This operation can be unsupported
- unsupportedOperation = true;
- }
-
- // Remove the user testFindUserByName
- uHandler.removeUser("testFindUserByName", true);
-
- // try to find a user that doesn't exist anymore. We are supposed to get "null" instead of Exception.
- try
- {
- assertNull(uHandler.findUserByName("testFindUserByName"));
- }
- catch (Exception e)
- {
- fail("Exception should not be thrown");
- }
- try
- {
- assertNull(uHandler.findUserByName("testFindUserByName", UserStatus.ENABLED));
- }
- catch (Exception e)
- {
- fail("Exception should not be thrown");
- }
- try
- {
- assertNull(uHandler.findUserByName("testFindUserByName", UserStatus.DISABLED));
- }
- catch (Exception e)
- {
- fail("Exception should not be thrown");
- }
- try
- {
- assertNull(uHandler.findUserByName("testFindUserByName", UserStatus.ANY));
- }
- catch (Exception e)
- {
- fail("Exception should not be thrown");
- }
-
- // Check the listener's counters
- assertEquals(1, listener.preSaveNew);
- assertEquals(1, listener.postSaveNew);
- assertEquals(0, listener.preSave);
- assertEquals(0, listener.postSave);
- assertEquals(unsupportedOperation ? 0 : 2, listener.preSetEnabled);
- assertEquals(unsupportedOperation ? 0 : 2, listener.postSetEnabled);
- assertEquals(1, listener.preDelete);
- assertEquals(1, listener.postDelete);
- }
-
- /**
- * Find users by query.
- */
- public void testFindUsersByQuery() throws Exception
- {
- createUser("tolik");
- uHandler.authenticate("tolik", "pwdADDSomeSaltToBeCompliantWithSomeIS00");
-
- Query query = new Query();
- query.setEmail("email@test");
-
- // try to find user by email
- assertSizeEquals(1, uHandler.findUsersByQuery(query), UserStatus.ENABLED);
- assertSizeEquals(1, uHandler.findUsersByQuery(query, UserStatus.ENABLED), UserStatus.ENABLED);
- assertSizeEquals(1, uHandler.findUsersByQuery(query, UserStatus.ANY), UserStatus.ANY);
-
- // try to find user by name with mask
- query = new Query();
- query.setUserName("*tolik*");
- assertSizeEquals(1, uHandler.findUsersByQuery(query));
-
- // try to find user by name with mask
- query = new Query();
- query.setUserName("tol*");
- assertSizeEquals(1, uHandler.findUsersByQuery(query));
-
- // try to find user by name with mask
- query = new Query();
- query.setUserName("*lik");
- assertSizeEquals(1, uHandler.findUsersByQuery(query));
-
- // try to find user by name explicitly
- query = new Query();
- query.setUserName("tolik");
- assertSizeEquals(1, uHandler.findUsersByQuery(query));
-
- // try to find user by part of name without mask
- query = new Query();
- query.setUserName("tol");
- assertSizeEquals(1, uHandler.findUsersByQuery(query));
-
- // try to find user by fist and last names
- query = new Query();
- query.setFirstName("first");
- query.setLastName("last");
- assertSizeEquals(1, uHandler.findUsersByQuery(query));
-
- String skipCISearchTests = System.getProperty("orgservice.test.configuration.skipCISearchTests");
- if (!"true".equals(skipCISearchTests))
- {
- // try to find user by name explicitly, case insensitive search
- query = new Query();
- query.setUserName("Tolik");
- assertSizeEquals(1, uHandler.findUsersByQuery(query));
-
- // try to find user by fist and last names, case insensitive search
- query = new Query();
- query.setFirstName("fiRst");
- query.setLastName("lasT");
- assertSizeEquals(1, uHandler.findUsersByQuery(query));
- }
-
- String skipDateTests = System.getProperty("orgservice.test.configuration.skipDateTests");
- if (!"true".equals(skipDateTests))
- {
- // try to find user by login date
- Calendar calc = Calendar.getInstance();
- calc.set(Calendar.YEAR, calc.get(Calendar.YEAR) - 1);
-
- query = new Query();
- query.setFromLoginDate(calc.getTime());
- query.setUserName("tolik");
- assertSizeEquals(1, uHandler.findUsersByQuery(query));
-
- calc = Calendar.getInstance();
- calc.set(Calendar.YEAR, calc.get(Calendar.YEAR) + 1);
-
- query = new Query();
- query.setFromLoginDate(calc.getTime());
- assertSizeEquals(0, uHandler.findUsersByQuery(query));
-
- calc = Calendar.getInstance();
- calc.set(Calendar.YEAR, calc.get(Calendar.YEAR) - 1);
-
- query = new Query();
- query.setToLoginDate(calc.getTime());
- assertSizeEquals(0, uHandler.findUsersByQuery(query));
-
- calc = Calendar.getInstance();
- calc.set(Calendar.YEAR, calc.get(Calendar.YEAR) + 1);
-
- query = new Query();
- query.setToLoginDate(calc.getTime());
- query.setUserName("tolik");
- assertSizeEquals(1, uHandler.findUsersByQuery(query));
- }
-
- createUser("rolik");
- createUser("bolik");
- createUser("volik");
-
- query = new Query();
- query.setUserName("olik");
-
- ListAccess users = uHandler.findUsersByQuery(query);
-
- assertSizeEquals(4, users, UserStatus.ENABLED);
- assertSizeEquals(4, uHandler.findUsersByQuery(query, UserStatus.ENABLED), UserStatus.ENABLED);
- assertSizeEquals(4, uHandler.findUsersByQuery(query, UserStatus.ANY), UserStatus.ANY);
-
- User[] allPage = users.load(0, 4);
- User[] page1 = users.load(0, 2);
- User[] page2 = users.load(2, 2);
-
- assertEquals(allPage[0].getUserName(), page1[0].getUserName());
- assertEquals(allPage[1].getUserName(), page1[1].getUserName());
- assertEquals(allPage[2].getUserName(), page2[0].getUserName());
- assertEquals(allPage[3].getUserName(), page2[1].getUserName());
-
- try
- {
- users.load(0, 0);
- }
- catch (Exception e)
- {
- fail("Exception is not expected");
- }
-
- // try to load more than exist
- try
- {
- users.load(0, 5);
- fail("Exception is expected");
- }
- catch (Exception e)
- {
- }
-
- // try to load more than exist
- try
- {
- users.load(1, 4);
- fail("Exception is expected");
- }
- catch (Exception e)
- {
- }
-
- boolean unsupportedOperation = false;
- try
- {
- // Disable the user tolik
- uHandler.setEnabled("tolik", false, true);
-
- assertSizeEquals(3, uHandler.findUsersByQuery(query), UserStatus.ENABLED);
- assertSizeEquals(3, uHandler.findUsersByQuery(query, UserStatus.ENABLED), UserStatus.ENABLED);
- assertSizeEquals(1, uHandler.findUsersByQuery(query, UserStatus.DISABLED), UserStatus.DISABLED);
- assertSizeEquals(4, uHandler.findUsersByQuery(query, UserStatus.ANY), UserStatus.ANY);
-
- // Enable the user tolik
- uHandler.setEnabled("tolik", true, true);
-
- assertSizeEquals(4, uHandler.findUsersByQuery(query), UserStatus.ENABLED);
- assertSizeEquals(4, uHandler.findUsersByQuery(query, UserStatus.ENABLED), UserStatus.ENABLED);
- assertSizeEquals(0, uHandler.findUsersByQuery(query, UserStatus.DISABLED), UserStatus.DISABLED);
- assertSizeEquals(4, uHandler.findUsersByQuery(query, UserStatus.ANY), UserStatus.ANY);
- }
- catch (UnsupportedOperationException e)
- {
- // This operation can be unsupported
- unsupportedOperation = true;
- }
-
- // Remove the user tolik
- uHandler.removeUser("tolik", true);
-
- assertSizeEquals(3, uHandler.findUsersByQuery(query), UserStatus.ENABLED);
- assertSizeEquals(3, uHandler.findUsersByQuery(query, UserStatus.ENABLED), UserStatus.ENABLED);
- assertSizeEquals(3, uHandler.findUsersByQuery(query, UserStatus.ANY), UserStatus.ANY);
-
-
- // Check the listener's counters
- assertEquals(4, listener.preSaveNew);
- assertEquals(4, listener.postSaveNew);
- assertEquals(0, listener.preSave);
- assertEquals(0, listener.postSave);
- assertEquals(unsupportedOperation ? 0 : 2, listener.preSetEnabled);
- assertEquals(unsupportedOperation ? 0 : 2, listener.postSetEnabled);
- assertEquals(1, listener.preDelete);
- assertEquals(1, listener.postDelete);
- }
-
- /**
- * Find users.
- */
- public void testFindUsers() throws Exception
- {
- createUser("tolik");
- uHandler.authenticate("tolik", "pwdADDSomeSaltToBeCompliantWithSomeIS00");
-
- Query query = new Query();
- query.setEmail("email@test");
-
- // try to find user by email
- assertSizeEquals(1, uHandler.findUsers(query).getAll());
-
- // try to find user by name with mask
- query = new Query();
- query.setUserName("*tolik*");
- assertSizeEquals(1, uHandler.findUsers(query).getAll());
-
- // try to find user by name with mask
- query = new Query();
- query.setUserName("tol*");
- assertSizeEquals(1, uHandler.findUsers(query).getAll());
-
- // try to find user by name with mask
- query = new Query();
- query.setUserName("*lik");
- assertSizeEquals(1, uHandler.findUsers(query).getAll());
-
- // try to find user by name explicitly
- query = new Query();
- query.setUserName("tolik");
- assertSizeEquals(1, uHandler.findUsers(query).getAll());
-
- // try to find user by part of name without mask
- query = new Query();
- query.setUserName("tol");
- assertSizeEquals(1, uHandler.findUsers(query).getAll());
-
- // try to find user by fist and last names
- query = new Query();
- query.setFirstName("first");
- query.setLastName("last");
- assertSizeEquals(1, uHandler.findUsers(query).getAll());
-
- String skipCISearchTests = System.getProperty("orgservice.test.configuration.skipCISearchTests");
- if (!"true".equals(skipCISearchTests))
- {
- // try to find user by name explicitly, case insensitive search
- query = new Query();
- query.setUserName("Tolik");
- assertSizeEquals(1, uHandler.findUsers(query).getAll());
-
- // try to find user by fist and last names, case insensitive search
- query = new Query();
- query.setFirstName("fiRst");
- query.setLastName("lasT");
- assertSizeEquals(1, uHandler.findUsers(query).getAll());
- }
-
- String skipDateTests = System.getProperty("orgservice.test.configuration.skipDateTests");
- if (!"true".equals(skipDateTests))
- {
- // try to find user by login date
- Calendar calc = Calendar.getInstance();
- calc.set(Calendar.YEAR, calc.get(Calendar.YEAR) - 1);
-
- query = new Query();
- query.setFromLoginDate(calc.getTime());
- query.setUserName("tolik");
- assertSizeEquals(1, uHandler.findUsers(query).getAll());
-
- calc = Calendar.getInstance();
- calc.set(Calendar.YEAR, calc.get(Calendar.YEAR) + 1);
-
- query = new Query();
- query.setFromLoginDate(calc.getTime());
- assertSizeEquals(0, uHandler.findUsers(query).getAll());
-
- calc = Calendar.getInstance();
- calc.set(Calendar.YEAR, calc.get(Calendar.YEAR) - 1);
-
- query = new Query();
- query.setToLoginDate(calc.getTime());
- assertSizeEquals(0, uHandler.findUsers(query).getAll());
-
- calc = Calendar.getInstance();
- calc.set(Calendar.YEAR, calc.get(Calendar.YEAR) + 1);
-
- query = new Query();
- query.setToLoginDate(calc.getTime());
- query.setUserName("tolik");
- assertSizeEquals(1, uHandler.findUsers(query).getAll());
- }
- }
-
- /**
- * Get users page list.
- */
- public void testGetUserPageList() throws Exception
- {
- assertSizeEquals(4, uHandler.getUserPageList(10).getAll());
- }
-
- /**
- * Find all users.
- */
- public void testFindAllUsers() throws Exception
- {
- createUser("testFindAllUsers");
-
- assertSizeEquals(5, uHandler.findAllUsers(), UserStatus.ENABLED);
- assertSizeEquals(5, uHandler.findAllUsers(UserStatus.ENABLED), UserStatus.ENABLED);
- assertSizeEquals(5, uHandler.findAllUsers(UserStatus.ANY), UserStatus.ANY);
-
- ListAccess users = uHandler.findAllUsers();
- User[] allPage = users.load(0, 4);
- User[] page1 = users.load(0, 2);
- User[] page2 = users.load(2, 2);
-
- assertEquals(allPage[0].getUserName(), page1[0].getUserName());
- assertEquals(allPage[1].getUserName(), page1[1].getUserName());
- assertEquals(allPage[2].getUserName(), page2[0].getUserName());
- assertEquals(allPage[3].getUserName(), page2[1].getUserName());
-
- try
- {
- users.load(0, 0);
- }
- catch (Exception e)
- {
- fail("Exception is not expected");
- }
-
- // try to load more than exist
- try
- {
- users.load(0, 6);
- fail("Exception is expected");
- }
- catch (Exception e)
- {
- }
-
- // try to load more than exist
- try
- {
- users.load(1, 5);
- fail("Exception is expected");
- }
- catch (Exception e)
- {
- }
-
- String userName = "testFindAllUsers";
-
- boolean unsupportedOperation = false;
- try
- {
- // Disable the user
- uHandler.setEnabled(userName, false, true);
-
- assertSizeEquals(4, uHandler.findAllUsers(), UserStatus.ENABLED);
- assertSizeEquals(4, uHandler.findAllUsers(UserStatus.ENABLED), UserStatus.ENABLED);
- assertSizeEquals(1, uHandler.findAllUsers(UserStatus.DISABLED), UserStatus.DISABLED);
- assertSizeEquals(5, uHandler.findAllUsers(UserStatus.ANY), UserStatus.ANY);
-
- // Enable the user
- uHandler.setEnabled(userName, true, true);
-
- assertSizeEquals(5, uHandler.findAllUsers(), UserStatus.ENABLED);
- assertSizeEquals(5, uHandler.findAllUsers(UserStatus.ENABLED), UserStatus.ENABLED);
- assertSizeEquals(0, uHandler.findAllUsers(UserStatus.DISABLED), UserStatus.DISABLED);
- assertSizeEquals(5, uHandler.findAllUsers(UserStatus.ANY), UserStatus.ANY);
- }
- catch (UnsupportedOperationException e)
- {
- // This operation can be unsupported
- unsupportedOperation = true;
- }
-
- // Remove the user
- uHandler.removeUser(userName, true);
-
- assertSizeEquals(4, uHandler.findAllUsers(), UserStatus.ENABLED);
- assertSizeEquals(4, uHandler.findAllUsers(UserStatus.ENABLED), UserStatus.ENABLED);
- assertSizeEquals(4, uHandler.findAllUsers(UserStatus.ANY), UserStatus.ANY);
-
-
- // Check the listener's counters
- assertEquals(1, listener.preSaveNew);
- assertEquals(1, listener.postSaveNew);
- assertEquals(0, listener.preSave);
- assertEquals(0, listener.postSave);
- assertEquals(unsupportedOperation ? 0 : 2, listener.preSetEnabled);
- assertEquals(unsupportedOperation ? 0 : 2, listener.postSetEnabled);
- assertEquals(1, listener.preDelete);
- assertEquals(1, listener.postDelete);
- }
-
- /**
- * Remove user.
- */
- public void testRemoveUser() throws Exception
- {
- createMembership(userName, groupName2, membershipType);
-
- assertEquals("We expect to find single membership for user " + userName, 1,
- mHandler.findMembershipsByUser(userName).size());
-
- assertNotNull(uHandler.removeUser(userName, true));
-
- assertNull(upHandler.findUserProfileByName(userName));
- assertEquals("We expect to find no membership for user " + userName, 0, mHandler.findMembershipsByUser(userName)
- .size());
-
- // try to find user after remove. We are supposed to get "null" instead of exception
- try
- {
- assertNull(uHandler.findUserByName(userName + "_"));
- }
- catch (Exception e)
- {
- fail("Exception should not be thrown");
- }
- }
-
- /**
- * Save user.
- */
- public void testSaveUser() throws Exception
- {
- String userName = "testSaveUser";
- createUser(userName);
-
- String newEmail = "new@Email";
- String displayName = "name";
-
- // change email and check
- User u = uHandler.findUserByName(userName);
- u.setEmail(newEmail);
-
- uHandler.saveUser(u, true);
-
- u = uHandler.findUserByName(userName);
- assertEquals(newEmail, u.getEmail());
- assertEquals(u.getDisplayName(), u.getFirstName() + " " + u.getLastName());
-
- u.setDisplayName(displayName);
- uHandler.saveUser(u, true);
-
- u = uHandler.findUserByName(userName);
- assertEquals(displayName, u.getDisplayName());
-
- boolean unsupportedOperation = false;
- try
- {
- // Disable the user
- u = uHandler.setEnabled(userName, false, true);
- u.setDisplayName(displayName + "new-value");
- try
- {
- uHandler.saveUser(u, true);
- fail("A DisabledUserException was expected");
- }
- catch (DisabledUserException e)
- {
- // expected issue
- }
-
- // Enable the user
- u = uHandler.setEnabled(userName, true, true);
- u.setDisplayName(displayName + "new-value");
- uHandler.saveUser(u, true);
-
- u = uHandler.findUserByName(userName);
- assertEquals(displayName + "new-value", u.getDisplayName());
- }
- catch (UnsupportedOperationException e)
- {
- // This operation can be unsupported
- unsupportedOperation = true;
- }
-
- // Remove the user
- uHandler.removeUser(userName, true);
-
- // Check the listener's counters
- assertEquals(1, listener.preSaveNew);
- assertEquals(1, listener.postSaveNew);
- assertEquals(unsupportedOperation ? 2 : 3, listener.preSave);
- assertEquals(unsupportedOperation ? 2 : 3, listener.postSave);
- assertEquals(unsupportedOperation ? 0 : 2, listener.preSetEnabled);
- assertEquals(unsupportedOperation ? 0 : 2, listener.postSetEnabled);
- assertEquals(1, listener.preDelete);
- assertEquals(1, listener.postDelete);
- }
-
- /**
- * Change password.
- */
- public void testChangePassword() throws Exception
- {
- createUser("testChangePassword");
-
- // authentication with existing user and correct password
- assertTrue(uHandler.authenticate("testChangePassword", "pwdADDSomeSaltToBeCompliantWithSomeIS00"));
-
- // authentication with wrong password
- assertFalse(uHandler.authenticate("testChangePassword", "pwdADDSomeSaltToBeCompliantWithSomeIS00_"));
-
- User u = uHandler.findUserByName("testChangePassword");
- u.setPassword("pwdADDSomeSaltToBeCompliantWithSomeIS00_");
- uHandler.saveUser(u, true);
-
- // authentication with existing user and correct password
- assertTrue(uHandler.authenticate("testChangePassword", "pwdADDSomeSaltToBeCompliantWithSomeIS00_"));
-
- // authentication with wrong password
- assertFalse(uHandler.authenticate("testChangePassword", "pwdADDSomeSaltToBeCompliantWithSomeIS00"));
-
- boolean unsupportedOperation = false;
- try
- {
- // Disable the user
- u = uHandler.setEnabled("testChangePassword", false, true);
- u.setPassword("pwdADDSomeSaltToBeCompliantWithSomeIS00");
-
- try
- {
- uHandler.saveUser(u, true);
- fail("A DisabledUserException was expected");
- }
- catch (DisabledUserException e)
- {
- // expected issue
- }
-
- try
- {
- // authentication with existing user and correct password
- uHandler.authenticate("testChangePassword", "pwdADDSomeSaltToBeCompliantWithSomeIS00_");
- fail("A DisabledUserException was expected");
- }
- catch (DisabledUserException e)
- {
- // expected issue
- }
-
- try
- {
- // authentication with wrong password
- uHandler.authenticate("testChangePassword", "pwdADDSomeSaltToBeCompliantWithSomeIS00");
- fail("A DisabledUserException was expected");
- }
- catch (DisabledUserException e)
- {
- // expected issue
- }
-
- // Disable the user
- u = uHandler.setEnabled("testChangePassword", true, true);
- u.setPassword("pwdADDSomeSaltToBeCompliantWithSomeIS00");
- uHandler.saveUser(u, true);
-
- // authentication with existing user and correct password
- assertTrue(uHandler.authenticate("testChangePassword", "pwdADDSomeSaltToBeCompliantWithSomeIS00"));
-
- // authentication with wrong password
- assertFalse(uHandler.authenticate("testChangePassword", "pwdADDSomeSaltToBeCompliantWithSomeIS00_"));
- }
- catch (UnsupportedOperationException e)
- {
- // This operation can be unsupported
- unsupportedOperation = true;
- }
-
- // Remove the user
- uHandler.removeUser("testChangePassword", true);
-
- // Check the listener's counters
- assertEquals(1, listener.preSaveNew);
- assertEquals(1, listener.postSaveNew);
- assertEquals(unsupportedOperation ? 1 : 2, listener.preSave);
- assertEquals(unsupportedOperation ? 1 : 2, listener.postSave);
- assertEquals(unsupportedOperation ? 0 : 2, listener.preSetEnabled);
- assertEquals(unsupportedOperation ? 0 : 2, listener.postSetEnabled);
- assertEquals(1, listener.preDelete);
- assertEquals(1, listener.postDelete);
- }
-
- /**
- * Create user.
- */
- public void testCreateUser() throws Exception
- {
- User u = uHandler.createUserInstance(userName);
- u.setEmail("email@test");
- u.setFirstName("first");
- u.setLastName("last");
- u.setPassword("pwdADDSomeSaltToBeCompliantWithSomeIS00");
- uHandler.createUser(u, true);
-
- // check if user exists
- assertNotNull(uHandler.findUserByName(userName));
-
- // Check the listener's counters
- assertEquals(1, listener.preSaveNew);
- assertEquals(1, listener.postSaveNew);
- assertEquals(0, listener.preSave);
- assertEquals(0, listener.postSave);
- assertEquals(0, listener.preSetEnabled);
- assertEquals(0, listener.postSetEnabled);
- assertEquals(0, listener.preDelete);
- assertEquals(0, listener.postDelete);
- }
-
- public void testFindUsersByGroupId() throws Exception
- {
- createMembership(userName, groupName2, membershipType);
-
- String groupId = "/" + groupName2;
- assertSizeEquals(1, uHandler.findUsersByGroupId(groupId), UserStatus.ENABLED);
- assertSizeEquals(1, uHandler.findUsersByGroupId(groupId, UserStatus.ENABLED), UserStatus.ENABLED);
- assertSizeEquals(1, uHandler.findUsersByGroupId(groupId, UserStatus.ANY), UserStatus.ANY);
-
- boolean unsupportedOperation = false;
- try
- {
- // Disable the user
- uHandler.setEnabled(userName, false, true);
-
- assertSizeEquals(0, uHandler.findUsersByGroupId(groupId), UserStatus.ENABLED);
- assertSizeEquals(0, uHandler.findUsersByGroupId(groupId, UserStatus.ENABLED), UserStatus.ENABLED);
- assertSizeEquals(1, uHandler.findUsersByGroupId(groupId, UserStatus.DISABLED), UserStatus.DISABLED);
- assertSizeEquals(1, uHandler.findUsersByGroupId(groupId, UserStatus.ANY), UserStatus.ANY);
-
- // Enable the user
- uHandler.setEnabled(userName, true, true);
-
- assertSizeEquals(1, uHandler.findUsersByGroupId(groupId), UserStatus.ENABLED);
- assertSizeEquals(1, uHandler.findUsersByGroupId(groupId, UserStatus.ENABLED), UserStatus.ENABLED);
- assertSizeEquals(0, uHandler.findUsersByGroupId(groupId, UserStatus.DISABLED), UserStatus.DISABLED);
- assertSizeEquals(1, uHandler.findUsersByGroupId(groupId, UserStatus.ANY), UserStatus.ANY);
- }
- catch (UnsupportedOperationException e)
- {
- // This operation can be unsupported
- unsupportedOperation = true;
- }
-
- // Remove the user
- uHandler.removeUser(userName, true);
-
- assertSizeEquals(0, uHandler.findUsersByGroupId(groupId), UserStatus.ENABLED);
- assertSizeEquals(0, uHandler.findUsersByGroupId(groupId, UserStatus.ENABLED), UserStatus.ENABLED);
- assertSizeEquals(0, uHandler.findUsersByGroupId(groupId, UserStatus.ANY), UserStatus.ANY);
-
- // Check the listener's counters
- assertEquals(1, listener.preSaveNew);
- assertEquals(1, listener.postSaveNew);
- assertEquals(0, listener.preSave);
- assertEquals(0, listener.postSave);
- assertEquals(unsupportedOperation ? 0 : 2, listener.preSetEnabled);
- assertEquals(unsupportedOperation ? 0 : 2, listener.postSetEnabled);
- assertEquals(1, listener.preDelete);
- assertEquals(1, listener.postDelete);
- }
-
- /**
- * Test get listeners.
- */
- public void testGetListeners() throws Exception
- {
- if (uHandler instanceof UserEventListenerHandler)
- {
- List list = ((UserEventListenerHandler) uHandler).getUserListeners();
- try
- {
- // check if we able to modify the list of listeners
- list.clear();
- fail("Exception should not be thrown");
- }
- catch (Exception e)
- {
- }
- }
- }
-
- public void testSetEnabled() throws Exception
- {
- try
- {
- // Trying to disable a non existing user should not throw any exception
- assertNull(uHandler.setEnabled("foo", false, true));
- }
- catch (UnsupportedOperationException e)
- {
- // This operation can be unsupported, the unit test will be ignored
- return;
- }
- createUser("testSetEnabled");
-
- // Trying to disable an existing user should return the corresponding user
- User user = uHandler.setEnabled("testSetEnabled", false, true);
-
- assertNotNull(user);
- assertEquals("testSetEnabled", user.getUserName());
- assertFalse(user.isEnabled());
-
- // Trying to disable an user already disabled
- user = uHandler.setEnabled("testSetEnabled", false, true);
-
- assertNotNull(user);
- assertEquals("testSetEnabled", user.getUserName());
- assertFalse(user.isEnabled());
-
- // Trying to enable the user
- user = uHandler.setEnabled("testSetEnabled", true, true);
-
- assertNotNull(user);
- assertEquals("testSetEnabled", user.getUserName());
- assertTrue(user.isEnabled());
-
- // Trying to enable an user already enabled
- user = uHandler.setEnabled("testSetEnabled", true, true);
-
- assertNotNull(user);
- assertEquals("testSetEnabled", user.getUserName());
- assertTrue(user.isEnabled());
-
- // Remove the user testSetEnabled
- uHandler.removeUser("testSetEnabled", true);
- assertNull(uHandler.setEnabled("testSetEnabled", false, true));
-
- // Check the listener's counters
- assertEquals(1, listener.preSaveNew);
- assertEquals(1, listener.postSaveNew);
- assertEquals(0, listener.preSave);
- assertEquals(0, listener.postSave);
- assertEquals(2, listener.preSetEnabled);
- assertEquals(2, listener.postSetEnabled);
- assertEquals(1, listener.preDelete);
- assertEquals(1, listener.postDelete);
- }
-
- public void testPreDeleteUserEventListenerPreventRemoveUser() throws Exception
- {
- createMembership(userName, groupName2, membershipType);
- createUserProfile(userName);
-
- assertEquals("Only one membership is expected for the user " + userName, 1,
- mHandler.findMembershipsByUser(userName).size());
-
- // We ensure that the UserProfile has been created properly
- UserProfile up = upHandler.findUserProfileByName(userName);
- assertNotNull(up);
- assertEquals(userName, up.getUserName());
- assertEquals("value1", up.getAttribute("key1"));
- assertEquals("value2", up.getAttribute("key2"));
-
- //Try to remove user
- PreventDeleteUserListener preventDeleteUserListener = new PreventDeleteUserListener();
- uHandler.addUserEventListener(preventDeleteUserListener);
- try
- {
- uHandler.removeUser(userName, true);
- fail("Exception should be thrown");
- }
- catch (Exception ex)
- {
- //Expect exception will be thrown
- }
- finally
- {
- uHandler.removeUserEventListener(preventDeleteUserListener);
- }
-
- // Make sure that the user has not been removed
- assertNotNull(uHandler.findUserByName(userName));
-
- // Make sure that the membership has not been removed
- assertEquals("Only one membership is expected for the user " + userName, 1,
- mHandler.findMembershipsByUser(userName).size());
-
- // Make sure that the UserProfile has not been removed
- up = upHandler.findUserProfileByName(userName);
- assertNotNull(up);
- assertEquals(userName, up.getUserName());
- assertEquals("value1", up.getAttribute("key1"));
- assertEquals("value2", up.getAttribute("key2"));
- }
-
- public void testPreDeleteNewUserEventListener() throws Exception
- {
- createMembership(userName, groupName2, membershipType);
- createUserProfile(userName);
-
- assertEquals("Only one membership is expected for the user " + userName, 1,
- mHandler.findMembershipsByUser(userName).size());
-
- // We ensure that the UserProfile has been created properly
- UserProfile up = upHandler.findUserProfileByName(userName);
- assertNotNull(up);
- assertEquals(userName, up.getUserName());
- assertEquals("value1", up.getAttribute("key1"));
- assertEquals("value2", up.getAttribute("key2"));
-
- //Try to remove user
- ObjectParameter param = new ObjectParameter();
- param.setObject(new NewUserConfig());
- InitParams params = new InitParams();
- params.addParam(param);
- NewUserEventListener newUserEventListener = new NewUserEventListener(params);
- uHandler.addUserEventListener(newUserEventListener);
- try
- {
- uHandler.removeUser(userName, true);
- }
- catch (Exception ex)
- {
- fail("Exception should not be thrown");
- }
- finally
- {
- uHandler.removeUserEventListener(newUserEventListener);
- }
-
- // Make sure that the user has been removed
- assertNull(uHandler.findUserByName(userName));
-
- // Make sure that the membership has been removed
- assertEquals("the membership should be removed for the user " + userName, 0,
- mHandler.findMembershipsByUser(userName).size());
-
- // Make sure that the UserProfile has been removed
- up = upHandler.findUserProfileByName(userName);
- assertNull(up);
- }
-
- public void testPreventRemoveUser() throws Exception
- {
- createMembership(userName, groupName2, membershipType);
- createUserProfile(userName);
-
- assertEquals("Only one membership is expected for the user " + userName, 1,
- mHandler.findMembershipsByUser(userName).size());
-
- // We ensure that the UserProfile has been created properly
- UserProfile up = upHandler.findUserProfileByName(userName);
- assertNotNull(up);
- assertEquals(userName, up.getUserName());
- assertEquals("value1", up.getAttribute("key1"));
- assertEquals("value2", up.getAttribute("key2"));
-
- //Try to remove user
- ObjectParameter param = new ObjectParameter();
- param.setObject(new NewUserConfig());
- InitParams params = new InitParams();
- params.addParam(param);
- NewUserEventListener newUserEventListener = new NewUserEventListener(params);
- PreventDeleteUserListener preventDeleteUserListener = new PreventDeleteUserListener();
- uHandler.addUserEventListener(newUserEventListener);
- uHandler.addUserEventListener(preventDeleteUserListener);
- try
- {
- uHandler.removeUser(userName, true);
- fail("Exception should be thrown");
- }
- catch (Exception ex)
- {
- //Expect exception will be thrown
- }
- finally
- {
- uHandler.removeUserEventListener(preventDeleteUserListener);
- uHandler.removeUserEventListener(newUserEventListener);
- }
-
- // Make sure that the user has not been removed
- assertNotNull(uHandler.findUserByName(userName));
-
- // Make sure that the membership has not been removed
- assertEquals("Only one membership is expected for the user " + userName, 1,
- mHandler.findMembershipsByUser(userName).size());
-
- // Make sure that the UserProfile has not been removed
- up = upHandler.findUserProfileByName(userName);
- assertNotNull(up);
- assertEquals(userName, up.getUserName());
- assertEquals("value1", up.getAttribute("key1"));
- assertEquals("value2", up.getAttribute("key2"));
- }
-
- private static class PreventDeleteUserListener extends UserEventListener
- {
- @Override
- public void preDelete(User user) throws Exception
- {
- throw new Exception("You cannot to delete user");
- }
-
- @Override
- public void postDelete(User user) throws Exception
- {
- fail("This method should not be execute because preDelete Event prevent remove user");
- }
- }
-
- private static class MyUserEventListener extends UserEventListener
- {
- public int preSaveNew, postSaveNew;
- public int preSave, postSave;
- public int preDelete, postDelete;
- public int preSetEnabled, postSetEnabled;
-
- @Override
- public void preSave(User user, boolean isNew) throws Exception
- {
- if (user == null)
- return;
- if (isNew)
- preSaveNew++;
- else
- preSave++;
- }
-
- @Override
- public void postSave(User user, boolean isNew) throws Exception
- {
- if (user == null)
- return;
- if (isNew)
- postSaveNew++;
- else
- postSave++;
- }
-
- @Override
- public void preDelete(User user) throws Exception
- {
- if (user == null)
- return;
- preDelete++;
- }
-
- @Override
- public void postDelete(User user) throws Exception
- {
- if (user == null)
- return;
- postDelete++;
- }
-
- @Override
- public void preSetEnabled(User user) throws Exception
- {
- if (user == null)
- return;
- preSetEnabled++;
- }
-
- @Override
- public void postSetEnabled(User user) throws Exception
- {
- if (user == null)
- return;
- postSetEnabled++;
- }
- }
-}
diff --git a/exo.core.component.organization.tests/src/test/java/org/exoplatform/services/tck/organization/TestUserProfileHandler.java b/exo.core.component.organization.tests/src/test/java/org/exoplatform/services/tck/organization/TestUserProfileHandler.java
deleted file mode 100644
index 582f2a3ba..000000000
--- a/exo.core.component.organization.tests/src/test/java/org/exoplatform/services/tck/organization/TestUserProfileHandler.java
+++ /dev/null
@@ -1,280 +0,0 @@
-/**
- *
- */
-/*
- * Copyright (C) 2003-2007 eXo Platform SAS.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License
- * as published by the Free Software Foundation; either version 3
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, see.
- */
-package org.exoplatform.services.tck.organization;
-
-import org.exoplatform.services.organization.UserProfile;
-import org.exoplatform.services.organization.UserProfileEventListener;
-import org.exoplatform.services.organization.UserProfileEventListenerHandler;
-
-import java.util.List;
-
-/**
- * Created by The eXo Platform SAS.
- *
- * @author Anatoliy Bazko
- * @version $Id: TestUserProfileHandlerImpl.java 111 2008-11-11 11:11:11Z $
- */
-public class TestUserProfileHandler extends AbstractOrganizationServiceTest
-{
- private MyUserProfileEventListener listener;
-
- @Override
- public void setUp() throws Exception
- {
- super.setUp();
- listener = new MyUserProfileEventListener();
- upHandler.addUserProfileEventListener(listener);
- }
-
- @Override
- public void tearDown() throws Exception
- {
- upHandler.removeUserProfileEventListener(listener);
- super.tearDown();
- }
-
- /**
- * Find user profile by name.
- */
- public void testFindUserProfileByName() throws Exception
- {
- createUser(userName);
- createUserProfile(userName);
-
- UserProfile up = upHandler.findUserProfileByName(userName);
- assertNotNull(up);
- assertEquals(userName, up.getUserName());
- assertEquals("value1", up.getAttribute("key1"));
- assertEquals("value2", up.getAttribute("key2"));
-
- // try to find profile for not existed user. We are supposed to get "null" instead of Exception
- try
- {
- assertNull(upHandler.findUserProfileByName(newUserName));
- }
- catch (Exception e)
- {
- fail("Exception should not be thrown");
- }
-
- // try to find not existed profile. We are supposed to get "null" instead of Exception
- createUser(newUserName);
- try
- {
- assertNull(upHandler.findUserProfileByName(newUserName));
- }
- catch (Exception e)
- {
- fail("Exception should not be thrown");
- }
-
- createUserProfile(newUserName);
-
- assertNotNull(upHandler.findUserProfileByName(newUserName));
-
- upHandler.removeUserProfile(newUserName, true);
-
- assertNull(upHandler.findUserProfileByName(newUserName));
-
- createUserProfile(newUserName);
-
- assertNotNull(upHandler.findUserProfileByName(newUserName));
-
- uHandler.removeUser(newUserName, false);
-
- assertNull(upHandler.findUserProfileByName(newUserName));
-
- // Check the listener's counters
- assertEquals(3, listener.preSaveNew);
- assertEquals(3, listener.postSaveNew);
- assertEquals(0, listener.preSave);
- assertEquals(0, listener.postSave);
- assertEquals(1, listener.preDelete);
- assertEquals(1, listener.postDelete);
- }
-
- /**
- * Find user profiles.
- */
- public void testFindUserProfiles() throws Exception
- {
- createUser(userName);
- createUserProfile(userName);
-
- createUser(newUserName);
- createUserProfile(newUserName);
-
- assertSizeEquals(2, upHandler.findUserProfiles());
-
- upHandler.removeUserProfile(newUserName, true);
-
- assertSizeEquals(1, upHandler.findUserProfiles());
-
- createUserProfile(newUserName);
-
- assertSizeEquals(2, upHandler.findUserProfiles());
-
- uHandler.removeUser(newUserName, false);
-
- assertSizeEquals(1, upHandler.findUserProfiles());
-
- // Check the listener's counters
- assertEquals(3, listener.preSaveNew);
- assertEquals(3, listener.postSaveNew);
- assertEquals(0, listener.preSave);
- assertEquals(0, listener.postSave);
- assertEquals(1, listener.preDelete);
- assertEquals(1, listener.postDelete);
- }
-
- /**
- * Remove user profile.
- */
- public void testRemoveUserProfile() throws Exception
- {
- createUser(userName);
- createUserProfile(userName);
-
- UserProfile up = upHandler.removeUserProfile(userName, true);
- assertNotNull(up);
- assertEquals(up.getAttribute("key1"), "value1");
- assertEquals(up.getAttribute("key2"), "value2");
- assertNull(upHandler.findUserProfileByName("userP1"));
-
- // remove not existed profile. We are supposed to get "null" instead of Exception
- try
- {
- assertNull(upHandler.removeUserProfile(newUserName, true));
- }
- catch (Exception e)
- {
- fail("Exception should not be thrown");
- }
-
- // Check the listener's counters
- assertEquals(1, listener.preSaveNew);
- assertEquals(1, listener.postSaveNew);
- assertEquals(0, listener.preSave);
- assertEquals(0, listener.postSave);
- assertEquals(1, listener.preDelete);
- assertEquals(1, listener.postDelete);
- }
-
- /**
- * Save user profile.
- */
- public void testSaveUserProfile() throws Exception
- {
- createUser(userName);
- createUserProfile(userName);
-
- UserProfile up = upHandler.findUserProfileByName(userName);
- up.setAttribute("key1", "value11");
- up.setAttribute("key2", null);
- upHandler.saveUserProfile(up, true);
-
- up = upHandler.findUserProfileByName(userName);
- assertEquals(up.getAttribute("key1"), "value11");
- assertNull(up.getAttribute("key2"));
-
- // try to save user profile for not existed user
- try
- {
- up = upHandler.createUserProfileInstance(newUserName);
- upHandler.saveUserProfile(up, true);
- fail("Exception should be thrown");
- }
- catch (Exception e)
- {
- }
-
- // Check the listener's counters
- assertEquals(1, listener.preSaveNew);
- assertEquals(1, listener.postSaveNew);
- assertEquals(1, listener.preSave);
- assertEquals(1, listener.postSave);
- assertEquals(0, listener.preDelete);
- assertEquals(0, listener.postDelete);
- }
-
- /**
- * Test get listeners.
- */
- public void testGetListeners() throws Exception
- {
- if (upHandler instanceof UserProfileEventListenerHandler)
- {
- List list = ((UserProfileEventListenerHandler) upHandler).getUserProfileListeners();
- try
- {
- list.clear();
- fail("We should not able to modife list of listeners");
- }
- catch (Exception e)
- {
- }
- }
- }
-
- private static class MyUserProfileEventListener extends UserProfileEventListener
- {
- public int preSaveNew, postSaveNew;
- public int preSave, postSave;
- public int preDelete, postDelete;
-
- @Override
- public void preSave(UserProfile up, boolean isNew) throws Exception
- {
- if (up == null)
- return;
- if (isNew)
- preSaveNew++;
- else
- preSave++;
- }
-
- @Override
- public void postSave(UserProfile up, boolean isNew) throws Exception
- {
- if (up == null)
- return;
- if (isNew)
- postSaveNew++;
- else
- postSave++;
- }
-
- @Override
- public void preDelete(UserProfile up) throws Exception
- {
- if (up == null)
- return;
- preDelete++;
- }
-
- @Override
- public void postDelete(UserProfile up) throws Exception
- {
- if (up == null)
- return;
- postDelete++;
- }
- }
-}
diff --git a/exo.core.component.script.groovy/pom.xml b/exo.core.component.script.groovy/pom.xml
index 30149bfcf..ce44f9f52 100644
--- a/exo.core.component.script.groovy/pom.xml
+++ b/exo.core.component.script.groovy/pom.xml
@@ -50,8 +50,8 @@
test
- org.codehaus.groovy
- groovy-all
+ org.codehaus.groovy
+ groovy-all
diff --git a/exo.core.component.security.core/pom.xml b/exo.core.component.security.core/pom.xml
index 3f8ed0954..700bf2213 100644
--- a/exo.core.component.security.core/pom.xml
+++ b/exo.core.component.security.core/pom.xml
@@ -54,8 +54,8 @@
test
- commons-lang
- commons-lang
+ org.apache.commons
+ commons-lang3
diff --git a/exo.core.component.security.core/src/main/java/org/exoplatform/services/security/ConversationRegistry.java b/exo.core.component.security.core/src/main/java/org/exoplatform/services/security/ConversationRegistry.java
index 41a5f9f0e..c472e4b20 100644
--- a/exo.core.component.security.core/src/main/java/org/exoplatform/services/security/ConversationRegistry.java
+++ b/exo.core.component.security.core/src/main/java/org/exoplatform/services/security/ConversationRegistry.java
@@ -18,7 +18,7 @@
*/
package org.exoplatform.services.security;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.exoplatform.container.spi.DefinitionByType;
import org.exoplatform.container.xml.InitParams;
import org.exoplatform.container.xml.ValueParam;
diff --git a/exo.core.component.security.core/src/main/java/org/exoplatform/services/security/impl/DefaultRolesExtractorImpl.java b/exo.core.component.security.core/src/main/java/org/exoplatform/services/security/impl/DefaultRolesExtractorImpl.java
index 5f108939e..a64b245b0 100644
--- a/exo.core.component.security.core/src/main/java/org/exoplatform/services/security/impl/DefaultRolesExtractorImpl.java
+++ b/exo.core.component.security.core/src/main/java/org/exoplatform/services/security/impl/DefaultRolesExtractorImpl.java
@@ -18,7 +18,7 @@
*/
package org.exoplatform.services.security.impl;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.exoplatform.container.xml.InitParams;
import org.exoplatform.container.xml.ValueParam;
import org.exoplatform.services.security.MembershipEntry;
diff --git a/pom.xml b/pom.xml
index f527d4600..d73eb088e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -56,7 +56,6 @@
exo.core.component.security.core
exo.core.component.database
exo.core.component.script.groovy
- exo.core.component.organization.tests
exo.core.component.organization.api
exo.core.component.xml-processing
@@ -87,17 +86,6 @@
exo.core.component.organization.api
${project.version}
-
- ${project.groupId}
- exo.core.component.organization.tests
- ${project.version}
-
-
- org.exoplatform.core
- exo.core.component.organization.tests
- ${project.version}
- test-sources
-
org.exoplatform.core
exo.core.component.security.core