1 package com.atlassian.user.impl.osuser;
2
3 import com.atlassian.user.EntityException;
4 import com.atlassian.user.UserManager;
5 import com.atlassian.user.impl.osuser.properties.OSUPropertySetFactory;
6 import com.atlassian.user.properties.PropertySetFactory;
7 import com.atlassian.user.repository.DefaultRepositoryIdentifier;
8 import com.opensymphony.module.propertyset.PropertySet;
9 import com.opensymphony.user.provider.AccessProvider;
10 import com.opensymphony.user.provider.CredentialsProvider;
11 import com.opensymphony.user.provider.ProfileProvider;
12 import com.opensymphony.user.provider.memory.MemoryAccessProvider;
13 import com.opensymphony.user.provider.memory.MemoryCredentialsProvider;
14 import com.opensymphony.user.provider.memory.MemoryProfileProvider;
15 import junit.framework.TestCase;
16
17 public class TestOSUserPropertySetFactory extends TestCase
18 {
19 private UserManager userManager;
20 private PropertySet propertySet;
21 private PropertySetFactory propertySetFactory;
22
23 protected CredentialsProvider credentialsProvider;
24 protected ProfileProvider profileProvider;
25 protected AccessProvider accessProvider;
26 DefaultOSUAccessor accessor;
27
28 public void setUp() throws Exception
29 {
30 super.setUp();
31
32 DefaultRepositoryIdentifier OSUConfig = new DefaultRepositoryIdentifier("OSUser1", "My OSUser repository");
33
34 credentialsProvider = new MemoryCredentialsProvider();
35 credentialsProvider.init(null);
36 profileProvider = new MemoryProfileProvider();
37 profileProvider.init(null);
38 accessProvider = new MemoryAccessProvider();
39 accessProvider.init(null);
40
41 accessor = new DefaultOSUAccessor();
42 accessor.setCredentialsProvider(credentialsProvider);
43 accessor.setProfileProvider(profileProvider);
44 accessor.setAccessProvider(accessProvider);
45
46 userManager = new OSUUserManager(OSUConfig, accessor);
47
48 propertySetFactory = new OSUPropertySetFactory(profileProvider);
49 }
50
51 public void tearDown() throws Exception
52 {
53 super.tearDown();
54 }
55
56 public void testGetPropertySetForUser() throws EntityException
57 {
58 assertNotNull(userManager.createUser("user"));
59 propertySet = getPropertySetForUser("user");
60
61 assertNotNull(propertySet);
62 }
63
64 private PropertySet getPropertySetForUser(String username) throws EntityException
65 {
66 return propertySetFactory.getPropertySet(userManager.getUser(username));
67 }
68
69 public void testAddPropertyForUser() throws EntityException
70 {
71 userManager.createUser("user");
72 propertySet = getPropertySetForUser("user");
73
74 propertySet.setString("testString", "helloworld");
75 propertySet.setBoolean("test", true);
76
77 PropertySet propertySet2 = getPropertySetForUser("user");
78 assertTrue("Propertyset for external user is not recording data.", propertySet2.getBoolean("test"));
79 assertEquals("Propertyset for external user is not recording data.", "helloworld", propertySet2.getString("testString"));
80 }
81 }