/* Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.activiti.test.ldap; import java.util.List; import org.activiti.engine.ActivitiException; import org.activiti.engine.identity.User; import org.activiti.engine.test.Deployment; import org.springframework.test.context.ContextConfiguration; @ContextConfiguration("classpath:activiti-context.xml") public class LdapIntegrationTest extends LDAPTestCase { public void testAuthenticationThroughLdap() { assertTrue(identityService.checkPassword("kermit", "pass")); assertTrue(identityService.checkPassword("bunsen", "pass")); assertFalse(identityService.checkPassword("kermit", "blah")); } public void testAuthenticationThroughLdapEmptyPassword() { try { identityService.checkPassword("kermit", null); fail(); } catch (ActivitiException e) {} try { identityService.checkPassword("kermit", ""); fail(); } catch (ActivitiException e) {} } @Deployment public void testCandidateGroupFetchedThroughLdap() { runtimeService.startProcessInstanceByKey("testCandidateGroup"); assertEquals(1, taskService.createTaskQuery().count()); assertEquals(1, taskService.createTaskQuery().taskCandidateGroup("sales").count()); // Pepe is a member of the candidate group and should be able to find the task assertEquals(1, taskService.createTaskQuery().taskCandidateUser("pepe").count()); // Dr. Bunsen is also a member of the candidate group and should be able to find the task assertEquals(1, taskService.createTaskQuery().taskCandidateUser("bunsen").count()); // Kermit is a candidate user and should be able to find the task assertEquals(1, taskService.createTaskQuery().taskCandidateUser("kermit").count()); } public void testUserQueryById() { List<User> users = identityService.createUserQuery().userId("kermit").list(); assertEquals(1, users.size()); User user = users.get(0); assertEquals("kermit", user.getId()); assertEquals("Kermit", user.getFirstName()); assertEquals("The Frog", user.getLastName()); user = identityService.createUserQuery().userId("fozzie").singleResult(); assertEquals("fozzie", user.getId()); assertEquals("Fozzie", user.getFirstName()); assertEquals("Bear", user.getLastName()); } public void testUserQueryByFullNameLike() { List<User> users = identityService.createUserQuery().userFullNameLike("ermi").list(); assertEquals(1, users.size()); assertEquals(1, identityService.createUserQuery().userFullNameLike("ermi").count()); User user = users.get(0); assertEquals("kermit", user.getId()); assertEquals("Kermit", user.getFirstName()); assertEquals("The Frog", user.getLastName()); users = identityService.createUserQuery().userFullNameLike("rog").list(); assertEquals(1, users.size()); assertEquals(1, identityService.createUserQuery().userFullNameLike("rog").count()); user = users.get(0); assertEquals("kermit", user.getId()); assertEquals("Kermit", user.getFirstName()); assertEquals("The Frog", user.getLastName()); users = identityService.createUserQuery().userFullNameLike("e").list(); assertEquals(5, users.size()); assertEquals(5, identityService.createUserQuery().userFullNameLike("e").count()); users = identityService.createUserQuery().userFullNameLike("The").list(); assertEquals(3, users.size()); assertEquals(3, identityService.createUserQuery().userFullNameLike("The").count()); } }