1 package com.atlassian.user.impl.ldap;
2
3 import com.atlassian.user.User;
4 import com.atlassian.user.search.page.PagerUtils;
5
6 import java.util.List;
7
8 public abstract class AbstractTestLdapUserManager extends AbstractLdapTest
9 {
10 private LDAPUserManagerReadOnly userManager;
11
12 public void setLdapUserManager(LDAPUserManagerReadOnly userManager)
13 {
14 this.userManager = userManager;
15 }
16
17 public void testGetUser() throws Exception
18 {
19 for (int i = 1; i <= 8; i++)
20 {
21 String userName = "user" + i;
22 User user = userManager.getUser(userName);
23 assertNotNull("User should exist: " + userName, user);
24 assertEquals(userName, user.getName());
25 assertEquals(userName + "@example.com", user.getEmail());
26 assertEquals("givenname" + i + " sn" + i, user.getFullName());
27 }
28 }
29
30 public void testGetUserNames() throws Exception
31 {
32 List userNames = PagerUtils.toList(userManager.getUserNames());
33 assertEquals(8, userNames.size());
34 for (int i = 1; i <= 8; i++)
35 {
36 String userName = "user" + i;
37 assertTrue("User should be included: " + userName, userNames.contains(userName));
38 }
39 }
40
41 public void testGetUsers() throws Exception
42 {
43 List users = PagerUtils.toList(userManager.getUsers());
44 assertEquals(8, users.size());
45 for (int i = 1; i <= 8; i++)
46 {
47 String userName = "user" + i;
48 User retrievedUser = userManager.getUser(userName);
49 assertNotNull("Should be able to retrieve user: " + userName, retrievedUser);
50 assertTrue("User should be included: " + userName, users.contains(retrievedUser));
51 }
52 }
53
54 public void testCreateUserFails() throws Exception
55 {
56 try
57 {
58 userManager.createUser("testuser");
59 fail("expected UnsupportedOperationException from read-only manager");
60 }
61 catch (UnsupportedOperationException e)
62 {
63
64 }
65 }
66
67 public void testRemoveUserFails() throws Exception
68 {
69 try
70 {
71 userManager.removeUser(userManager.getUser("user1"));
72 fail("expected UnsupportedOperationException from read-only manager");
73 }
74 catch (UnsupportedOperationException e)
75 {
76
77 }
78 }
79 }
80