KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > jboss > portal > test > portlet > PortletPreferencesTestCase


1 /*****************************************
2  * *
3  * JBoss Portal: The OpenSource Portal *
4  * *
5  * Distributable under LGPL license. *
6  * See terms of license at gnu.org. *
7  * *
8  *****************************************/

9 package org.jboss.portal.test.portlet;
10
11 import java.util.Arrays JavaDoc;
12 import java.util.Map JavaDoc;
13
14 import javax.portlet.PortletPreferences;
15 import javax.portlet.ReadOnlyException;
16
17 import junit.framework.TestCase;
18
19 import org.jboss.portal.common.value.StringValues;
20 import org.jboss.portal.portlet.impl.PortletPreferencesImpl;
21 import org.jboss.portal.server.plugins.preferences.AbstractPreferenceSet;
22 import org.jboss.portal.server.plugins.preferences.PreferenceSet;
23
24 /**
25  * Test portlet preferences implementation.
26  *
27  * @author <a HREF="mailto:julien@jboss.org">Julien Viet</a>
28  * @version $Revision: 1.2 $
29  */

30 public class PortletPreferencesTestCase extends TestCase
31 {
32
33    public PortletPreferencesTestCase(String JavaDoc key)
34    {
35       super(key);
36    }
37
38    private PortletPreferences prefs;
39
40    protected void setUp() throws Exception JavaDoc
41    {
42       PreferenceSet userPreferences = new AbstractPreferenceSet();;
43       PreferenceSet systemPreferences = new AbstractPreferenceSet();;
44
45       fillSystemPrefs(systemPreferences);
46       fillUserPrefs(userPreferences);
47
48       prefs = new PortletPreferencesImpl(systemPreferences, userPreferences, null, PortletPreferencesImpl.ACTION);
49    }
50
51    private void fillSystemPrefs(PreferenceSet prefs) throws Exception JavaDoc
52    {
53       prefs.setValue("name-1", new StringValues("value-1"));
54       prefs.setValue("name-2", new StringValues(new String JavaDoc[]{"value-2-1","value-2-2"}));
55       prefs.setValue("name-3", new StringValues("value-3"));
56       prefs.setValue("name-4", new StringValues("value-4"));
57       prefs.setReadOnly("name-4", true);
58    }
59
60    private void fillUserPrefs(PreferenceSet prefs) throws Exception JavaDoc
61    {
62       prefs.setValue("name-3", new StringValues("user-value-3"));
63       prefs.setValue("name-4", new StringValues("user-value-4"));
64       prefs.setValue("name-5", new StringValues("user-value-5"));
65    }
66
67    protected void tearDown() throws Exception JavaDoc
68    {
69       prefs = null;
70    }
71
72    public void testNullKeyThrowsIllegalArgumentException() throws Exception JavaDoc
73    {
74       try
75       {
76          prefs.isReadOnly(null);
77          fail("IllegalArgumentException expected");
78       }
79       catch (IllegalArgumentException JavaDoc expected)
80       {
81       }
82       try
83       {
84          prefs.getValue(null, "");
85          fail("IllegalArgumentException expected");
86       }
87       catch (IllegalArgumentException JavaDoc expected)
88       {
89       }
90       try
91       {
92          prefs.setValue(null, "");
93          fail("IllegalArgumentException expected");
94       }
95       catch (IllegalArgumentException JavaDoc expected)
96       {
97       }
98       try
99       {
100          prefs.setValues(null, new String JavaDoc[0]);
101          fail("IllegalArgumentException expected");
102       }
103       catch (IllegalArgumentException JavaDoc expected)
104       {
105       }
106       try
107       {
108          prefs.reset(null);
109          fail("IllegalArgumentException expected");
110       }
111       catch (IllegalArgumentException JavaDoc expected)
112       {
113       }
114    }
115
116    public void testRead()
117    {
118       assertEquals("value-1", prefs.getValue("name-1", null));
119       assertEquals("value-2-1", prefs.getValue("name-2", null));
120       assertTrue(Arrays.equals(new String JavaDoc[]{"value-2-1","value-2-2"}, prefs.getValues("name-2", null)));
121       assertEquals("user-value-3", prefs.getValue("name-3", null));
122       assertEquals("value-4", prefs.getValue("name-4", null));
123       assertEquals("user-value-5", prefs.getValue("name-5", null));
124    }
125
126    public void testWrite() throws Exception JavaDoc
127    {
128       try
129       {
130          prefs.setValue("name-4", "user-value-4");
131          fail("Expected ReadOnlyException");
132       }
133       catch (ReadOnlyException expected)
134       {
135       }
136    }
137
138    public void testNullWrite() throws Exception JavaDoc
139    {
140       prefs.setValue("name-3", null);
141       assertEquals("value-3", prefs.getValue("name-3", "tmp"));
142       assertTrue(Arrays.equals(new String JavaDoc[]{"value-3"}, prefs.getValues("name-3", new String JavaDoc[]{"tmp"})));
143       prefs.setValues("name-3", null);
144       assertEquals("value-3", prefs.getValue("name-3", "tmp"));
145       assertTrue(Arrays.equals(new String JavaDoc[]{"value-3"}, prefs.getValues("name-3", new String JavaDoc[]{"tmp"})));
146       prefs.setValues("name-5", null);
147       assertEquals("tmp", prefs.getValue("name-5", "tmp"));
148       assertTrue(Arrays.equals(new String JavaDoc[]{"tmp"}, prefs.getValues("name-5", new String JavaDoc[]{"tmp"})));
149    }
150
151    public void testIsReadOnly()
152    {
153       assertFalse(prefs.isReadOnly("name-1"));
154       assertFalse(prefs.isReadOnly("name-2"));
155       assertFalse(prefs.isReadOnly("name-3"));
156       assertTrue(prefs.isReadOnly("name-4"));
157    }
158
159    public void testMap()
160    {
161       Map JavaDoc map = prefs.getMap();
162       assertTrue(Arrays.equals(new String JavaDoc[]{"value-1"}, (String JavaDoc[])map.get("name-1")));
163       assertTrue(Arrays.equals(new String JavaDoc[]{"value-2-1","value-2-2"}, (String JavaDoc[])map.get("name-2")));
164       assertTrue(Arrays.equals(new String JavaDoc[]{"user-value-3"}, (String JavaDoc[])map.get("name-3")));
165       assertTrue(Arrays.equals(new String JavaDoc[]{"value-4"}, (String JavaDoc[])map.get("name-4")));
166       assertTrue(Arrays.equals(new String JavaDoc[]{"user-value-5"}, (String JavaDoc[])map.get("name-5")));
167       assertTrue(map.containsValue(new String JavaDoc[]{"value-1"}));
168       assertTrue(map.containsValue(new String JavaDoc[]{"value-2-1","value-2-2"}));
169       assertTrue(map.containsValue(new String JavaDoc[]{"user-value-3"}));
170       assertTrue(map.containsValue(new String JavaDoc[]{"value-4"}));
171       assertTrue(map.containsValue(new String JavaDoc[]{"user-value-5"}));
172    }
173 }
174
Popular Tags