1 package com.atlassian.user.impl.memory.provider;
2
3 import junit.framework.TestCase;
4 import com.atlassian.user.impl.DefaultUser;
5 import com.atlassian.user.impl.DefaultGroup;
6 import com.atlassian.user.User;
7 import com.atlassian.user.Group;
8 import com.atlassian.user.EntityException;
9 import com.atlassian.user.search.page.PagerUtils;
10
11 public class TestMemoryProvider extends TestCase
12 {
13 MemoryProvider provider;
14 public User user;
15 public Group group;
16 public Group group2;
17
18 public void setUp() throws Exception
19 {
20 provider = new MemoryProvider();
21 super.setUp();
22 }
23
24 public void tearDown() throws Exception
25 {
26 super.tearDown();
27 }
28
29 public void testRemoveUserRemovesAllMembershipForUser() throws Exception
30 {
31 setupTestEntities();
32
33 provider.addMembership(group, user);
34 provider.addMembership(group2, user);
35
36 provider.removeUser(user);
37
38 assertEquals("memoryProvider is not removing membership information when users are removed",
39 0, PagerUtils.count(provider.getMemberNames(group)));
40
41 assertEquals("memoryProvider is not removing membership information when users are removed",
42 0, PagerUtils.count(provider.getMemberNames(group2)));
43 }
44
45 public void testRemoveMembership() throws Exception
46 {
47 setupTestEntities();
48 provider.addMembership(group, user);
49 provider.addMembership(group, user);
50 provider.addMembership(group, user);
51 provider.addMembership(group2, user);
52 provider.removeMembership(group, user);
53 assertFalse("memoryProvider is not removing membership", provider.hasMembership(group, user));
54 assertTrue("memoryProvider is removing membership indiscriminately!", provider.hasMembership(group2, user));
55
56 provider.removeMembership(group2, user);
57
58 assertFalse("memoryProvider is not removing membership", provider.hasMembership(group2, user));
59 }
60
61 public void testRemoveGroupRemovesMembership() throws Exception
62 {
63 setupTestEntities();
64 provider.addMembership(group, user);
65 provider.addMembership(group2, user);
66 assertTrue(provider.hasMembership(group, user));
67 assertTrue(provider.hasMembership(group2, user));
68
69 provider.removeGroup(group2);
70 assertTrue(provider.hasMembership(group, user));
71 assertFalse(provider.hasMembership(group2, user));
72 }
73
74
75 private void setupTestEntities() throws EntityException
76 {
77 user = new DefaultUser("u1");
78 provider.addUser(user);
79 group = new DefaultGroup("g1");
80 provider.addGroup(group);
81 group2 = new DefaultGroup("g2");
82 provider.addGroup(group2);
83 }
84
85
86 }