KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > jboss > portal > test > core > tree > LocalTestCase


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.core.tree;
10
11 import junit.framework.TestCase;
12 import org.jboss.portal.common.tree.Tree;
13 import org.jboss.portal.common.tree.Session;
14 import org.jboss.portal.common.tree.Node;
15 import org.jboss.portal.core.impl.tree.TreeImpl;
16 import org.apache.log4j.Logger;
17 import org.apache.log4j.Appender;
18 import org.apache.log4j.ConsoleAppender;
19 import org.apache.log4j.SimpleLayout;
20 import org.apache.log4j.Level;
21
22 import java.util.HashMap JavaDoc;
23 import java.util.Arrays JavaDoc;
24 import java.util.Collections JavaDoc;
25
26 /**
27  * @author <a HREF="mailto:julien@jboss.org">Julien Viet</a>
28  * @version $Revision: 1.1 $
29  */

30 public class LocalTestCase extends TestCase
31 {
32
33    static
34    {
35       // Appender appender = new ConsoleAppender(new SimpleLayout());
36
// Logger.getRoot().addAppender(appender);
37
// Logger.getRoot().setLevel(Level.INFO);
38
}
39
40    public LocalTestCase(String JavaDoc s)
41    {
42       super(s);
43    }
44
45    private Tree model;
46
47    protected void setUp() throws Exception JavaDoc
48    {
49       TreeImpl jbcm = new TreeImpl();
50       jbcm.setCacheConfiguration("cache/local.xml");
51       jbcm.create();
52       jbcm.start();
53       model = jbcm;
54    }
55
56    protected void tearDown() throws Exception JavaDoc
57    {
58       TreeImpl jbcm = (TreeImpl)model;
59       jbcm.stop();
60       jbcm.destroy();
61    }
62
63    public void testAddPropertyCommit() throws Exception JavaDoc
64    {
65       ChangeLog changeLog = new ChangeLog();
66       model.addNodeChangeListener(changeLog);
67       Session session = model.getSession();
68       Node root = model.getRoot();
69       session.setProperty(root, "blah", "blah");
70       session.commit();
71       assertEquals("blah", root.getProperty("blah"));
72       assertEquals(Arrays.asList(new Object JavaDoc[]{Change.createPropertyAdded(root.getID(), "blah")}), changeLog.getChanges());
73    }
74
75    public void testAddPropertyRollback() throws Exception JavaDoc
76    {
77       ChangeLog changeLog = new ChangeLog();
78       model.addNodeChangeListener(changeLog);
79       Session session = model.getSession();
80       Node root = model.getRoot();
81       session.setProperty(root, "blah", "blah");
82       session.rollback();
83       assertNull(root.getProperty("blah"));
84       assertEquals(0, changeLog.getChanges().size());
85    }
86
87    public void testChangePropertyCommit() throws Exception JavaDoc
88    {
89       Session session = model.getSession();
90       Node root = model.getRoot();
91       session.setProperty(root, "blah", "blah1");
92       session.commit();
93
94       ChangeLog changeLog = new ChangeLog();
95       model.addNodeChangeListener(changeLog);
96       session = model.getSession();
97       session.setProperty(root, "blah", "blah2");
98       session.commit();
99
100       assertEquals("blah2", root.getProperty("blah"));
101       assertEquals(Arrays.asList(new Object JavaDoc[]{Change.createPropertyChanged(root.getID(), "blah")}), changeLog.getChanges());
102    }
103
104    public void testChangePropertyRollback() throws Exception JavaDoc
105    {
106       Session session = model.getSession();
107       Node root = model.getRoot();
108       session.setProperty(root, "blah", "blah1");
109       session.commit();
110
111       ChangeLog changeLog = new ChangeLog();
112       model.addNodeChangeListener(changeLog);
113       session = model.getSession();
114       session.setProperty(root, "blah", "blah2");
115       session.rollback();
116
117       assertEquals("blah1", root.getProperty("blah"));
118       assertEquals(Collections.EMPTY_LIST, changeLog.getChanges());
119    }
120
121 /*
122    // Fails
123    public void testRemovePropertyCommit() throws Exception
124    {
125       ModelSession session = model.getSession();
126       Node root = model.getRoot();
127       session.setProperty(root, "blah", "blah1");
128       session.commit();
129
130       ModelChangeLog changeLog = new ModelChangeLog();
131       model.addNodeChangeListener(changeLog);
132       session = model.getSession();
133       session.removeProperty(root, "blah");
134       session.commit();
135
136       assertNull(root.getProperty("blah"));
137       assertEquals(1, changeLog.getChanges().size());
138       assertTrue(Arrays.equals(new Object[]{"PropertyRemoved",root,"blah"}, (Object[])changeLog.getChanges().get(0)));
139    }
140
141    public void testRemovePropertyRollback() throws Exception
142    {
143       // to write
144    }
145
146 */

147
148    public void testAddChildNoTx() throws Exception JavaDoc
149    {
150       ChangeLog changeLog = new ChangeLog();
151       model.addNodeChangeListener(changeLog);
152       ((TreeImpl)model).getCache().put("/blah", new HashMap JavaDoc());
153       Node root = model.getRoot();
154       Node child = root.getChild("blah");
155       assertNotNull(child);
156       assertEquals(Arrays.asList(new Object JavaDoc[]{Change.createChildAdded(root.getID(), child.getName())}), changeLog.getChanges());
157    }
158
159    public void testAddChildCommit() throws Exception JavaDoc
160    {
161       ChangeLog changeLog = new ChangeLog();
162       model.addNodeChangeListener(changeLog);
163       Session session = model.getSession();
164       Node root = model.getRoot();
165       Node child = session.addChild(root, "blah", new HashMap JavaDoc());
166       session.commit();
167       assertNotNull(child);
168       assertEquals(Arrays.asList(new Object JavaDoc[]{Change.createChildAdded(root.getID(), child.getName())}), changeLog.getChanges());
169    }
170
171    public void testAddChildRollback() throws Exception JavaDoc
172    {
173       ChangeLog changeLog = new ChangeLog();
174       model.addNodeChangeListener(changeLog);
175       Session session = model.getSession();
176       Node root = model.getRoot();
177       session.addChild(root, "blah", new HashMap JavaDoc());
178       session.rollback();
179       assertNull(root.getChild("blah"));
180       assertEquals(Collections.EMPTY_LIST, changeLog.getChanges());
181    }
182
183    public void testRemoveChildCommit() throws Exception JavaDoc
184    {
185       Session session = model.getSession();
186       Node root = model.getRoot();
187       Node child = session.addChild(root, "blah", new HashMap JavaDoc());
188       session.commit();
189
190       ChangeLog changeLog = new ChangeLog();
191       model.addNodeChangeListener(changeLog);
192
193       session = model.getSession();
194       root = model.getRoot();
195       session.removeChild(root, "blah");
196       session.commit();
197
198       child = root.getChild("blah");
199       assertNull(child);
200
201       assertEquals(Arrays.asList(new Object JavaDoc[]{Change.createChildRemoved(root.getID(), "blah")}), changeLog.getChanges());
202    }
203
204 /*
205    // Fails
206    public void testRemoveChildRollback() throws Exception
207    {
208       ModelSession session = model.getSession();
209       Node root = model.getRoot();
210       session.addChild(root, "blah", new HashMap());
211       session.commit();
212
213       session = model.getSession();
214       root = model.getRoot();
215       session.removeChild(root, "blah");
216       session.rollback();
217
218       assertNotNull(((JBossCacheModel)model).getCache().get("/blah"));
219
220       Node child = root.getChild("blah");
221       assertNotNull(child);
222    }
223 */

224 }
225
Popular Tags