1 package com.atlassian.user.impl.memory.properties;
2
3 import com.atlassian.user.EntityException;
4 import com.atlassian.user.impl.DefaultUser;
5 import com.opensymphony.module.propertyset.PropertySet;
6 import junit.framework.TestCase;
7
8 public class TestMemoryPropertySetFactory extends TestCase
9 {
10 MemoryPropertySetFactory propertySetFactory;
11
12
13 public void setUp() throws Exception
14 {
15 propertySetFactory = new MemoryPropertySetFactory();
16 }
17
18 public void testGetPropertySet() throws EntityException
19 {
20 DefaultUser entity = new DefaultUser("test");
21 assertNotNull(entity);
22
23 PropertySet ps = propertySetFactory.getPropertySet(entity);
24
25 assertNotNull("memoryPropertySetFactory is returning nulls", ps);
26 }
27
28 public void testRetrieveProperty() throws EntityException
29 {
30 DefaultUser entity = new DefaultUser("test");
31 assertNotNull(entity);
32
33 PropertySet ps = propertySetFactory.getPropertySet(entity);
34 ps.setString("testProp", "foo");
35
36 ps = propertySetFactory.getPropertySet(entity);
37 String propVal = ps.getString("testProp");
38
39 assertEquals("memoryPropertySetFactory is not retrieving the correct propertyset",
40 "foo", propVal);
41 }
42
43 public void testMutatingEntity() throws EntityException
44 {
45 DefaultUser testUser = new DefaultUser("name");
46 testUser.setFullName("full name");
47 testUser.setEmail("email");
48 PropertySet ps1 = propertySetFactory.getPropertySet(testUser);
49 testUser.setFullName("changed full name");
50 testUser.setEmail("changed email");
51 PropertySet ps2 = propertySetFactory.getPropertySet(testUser);
52 assertSame("received different property sets for an updated user object", ps1, ps2);
53
54 }
55
56 }