[jboss-cvs] jboss-seam/examples/wiki/src/test/org/jboss/seam/wiki/test/editing ...
Christian Bauer
christian at hibernate.org
Wed Jan 9 10:59:24 EST 2008
User: cbauer
Date: 08/01/09 10:59:24
Modified: examples/wiki/src/test/org/jboss/seam/wiki/test/editing
ClipboardTests.java BasicNodeOperations.java
Commenting.java
Added: examples/wiki/src/test/org/jboss/seam/wiki/test/editing
TrashTests.java
Log:
JBSEAM-2397 and JBSEAM-1883 - implemented trashcan feature and more reliable update of 2nd level cache and lucene index
Revision Changes Path
1.2 +7 -7 jboss-seam/examples/wiki/src/test/org/jboss/seam/wiki/test/editing/ClipboardTests.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: ClipboardTests.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/examples/wiki/src/test/org/jboss/seam/wiki/test/editing/ClipboardTests.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- ClipboardTests.java 20 Dec 2007 12:23:05 -0000 1.1
+++ ClipboardTests.java 9 Jan 2008 15:59:24 -0000 1.2
@@ -60,7 +60,7 @@
Clipboard clipboard = (Clipboard)getInstance("clipboard");
assert clipboard.getItems().size() == 1;
- assert clipboard.getItemsAsList().get(0).getId().equals(9l);
+ assert clipboard.getItemsAsList().get(0).equals(9l);
assert !clipboard.isCut(9l);
}
}.run();
@@ -144,7 +144,7 @@
Clipboard clipboard = (Clipboard)getInstance("clipboard");
assert clipboard.getItems().size() == 1;
- assert clipboard.getItemsAsList().get(0).getId().equals(30l);
+ assert clipboard.getItemsAsList().get(0).equals(30l);
assert !clipboard.isCut(30l);
}
}.run();
@@ -319,7 +319,7 @@
Clipboard clipboard = (Clipboard)getInstance("clipboard");
assert clipboard.getItems().size() == 1;
- assert clipboard.getItemsAsList().get(0).getId().equals(9l);
+ assert clipboard.getItemsAsList().get(0).equals(9l);
assert clipboard.isCut(9l);
}
}.run();
@@ -399,7 +399,7 @@
Clipboard clipboard = (Clipboard)getInstance("clipboard");
assert clipboard.getItems().size() == 1;
- assert clipboard.getItemsAsList().get(0).getId().equals(30l);
+ assert clipboard.getItemsAsList().get(0).equals(30l);
assert clipboard.isCut(30l);
}
}.run();
@@ -578,7 +578,7 @@
Clipboard clipboard = (Clipboard)getInstance("clipboard");
assert clipboard.getItems().size() == 1;
- assert clipboard.getItemsAsList().get(0).getId().equals(9l);
+ assert clipboard.getItemsAsList().get(0).equals(9l);
assert clipboard.isCut(9l);
}
}.run();
@@ -656,7 +656,7 @@
Clipboard clipboard = (Clipboard)getInstance("clipboard");
assert clipboard.getItems().size() == 1;
- assert clipboard.getItemsAsList().get(0).getId().equals(9l);
+ assert clipboard.getItemsAsList().get(0).equals(9l);
assert !clipboard.isCut(9l);
}
}.run();
@@ -730,7 +730,7 @@
Clipboard clipboard = (Clipboard)getInstance("clipboard");
assert clipboard.getItems().size() == 1;
- assert clipboard.getItemsAsList().get(0).getId().equals(6l);
+ assert clipboard.getItemsAsList().get(0).equals(6l);
assert clipboard.isCut(6l);
}
}.run();
1.6 +8 -42 jboss-seam/examples/wiki/src/test/org/jboss/seam/wiki/test/editing/BasicNodeOperations.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: BasicNodeOperations.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/examples/wiki/src/test/org/jboss/seam/wiki/test/editing/BasicNodeOperations.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- BasicNodeOperations.java 19 Dec 2007 04:29:24 -0000 1.5
+++ BasicNodeOperations.java 9 Jan 2008 15:59:24 -0000 1.6
@@ -7,17 +7,15 @@
package org.jboss.seam.wiki.test.editing;
import org.dbunit.operation.DatabaseOperation;
-import org.hibernate.StatelessSession;
import org.hibernate.Session;
import org.hibernate.ejb.HibernateEntityManagerFactory;
import org.jboss.seam.core.Conversation;
-import org.jboss.seam.faces.Redirect;
import org.jboss.seam.wiki.core.action.DirectoryHome;
import org.jboss.seam.wiki.core.action.DocumentHome;
import org.jboss.seam.wiki.core.model.WikiDirectory;
import org.jboss.seam.wiki.core.model.WikiDocument;
-import org.jboss.seam.wiki.core.model.WikiNode;
import org.jboss.seam.wiki.test.util.DBUnitSeamTest;
+import org.jboss.seam.faces.Redirect;
import org.testng.annotations.Test;
public class BasicNodeOperations extends DBUnitSeamTest {
@@ -26,42 +24,9 @@
beforeTestOperations.add(
new DataSetOperation("org/jboss/seam/wiki/test/WikiBaseData.dbunit.xml", DatabaseOperation.CLEAN_INSERT)
);
- }
-
- @Test
- public void deleteDocument() throws Exception {
-
- final String conversationId = new NonFacesRequest("/docEdit_d.xhtml") {
- protected void beforeRequest() {
- setParameter("documentId", "6");
- setParameter("parentDirectoryId", "3");
- }
- }.run();
-
- new FacesRequest("/docEdit_d.xhtml") {
-
- protected void beforeRequest() {
- setParameter("cid", conversationId);
- }
-
- protected void invokeApplication() throws Exception {
- assert Conversation.instance().isLongRunning();
-
- DocumentHome docHome = (DocumentHome)getInstance("documentHome");
- assert docHome.getInstance().getId().equals(6l);
-
- assert invokeMethod("#{documentHome.remove}").equals("removed");
-
- // TODO: SeamTest doesn't do navigation but we don't want to have /docEdit_d.xhtml in the RENDER RESPONSE
- Conversation.instance().end();
- Redirect.instance().setViewId("/dirDisplay.xhtml");
- Redirect.instance().execute();
-
- assert checkNestedSetNodeInDatabase(3l, 4, 9);
- assert !checkDocumentInDatabase(6l);
- }
-
- }.run();
+ beforeTestOperations.add(
+ new DataSetOperation("org/jboss/seam/wiki/test/HelpDocuments.dbunit.xml", DatabaseOperation.INSERT)
+ );
}
@Test
@@ -69,8 +34,7 @@
final String conversationId = new NonFacesRequest("/dirEdit_d.xhtml") {
protected void beforeRequest() {
- setParameter("directoryId", "2");
- setParameter("parentDirectoryId", "1");
+ setParameter("directoryId", "5");
}
}.run();
@@ -81,6 +45,8 @@
}
protected void invokeApplication() throws Exception {
+ DirectoryHome dirHome = (DirectoryHome)getInstance("directoryHome");
+ assert dirHome.getInstance().getId().equals(5l); // Init!
assert invokeMethod("#{directoryHome.remove}").equals("removed");
// TODO: SeamTest doesn't do navigation but we don't want to have /dirEdit_d.xhtml in the RENDER RESPONSE
@@ -89,7 +55,7 @@
Redirect.instance().execute();
assert checkNestedSetNodeInDatabase(1l, 1, 997);
- assert !checkDirectoryInDatabase(2l);
+ assert !checkDirectoryInDatabase(5l);
}
}.run();
1.2 +9 -8 jboss-seam/examples/wiki/src/test/org/jboss/seam/wiki/test/editing/Commenting.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: Commenting.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/examples/wiki/src/test/org/jboss/seam/wiki/test/editing/Commenting.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- Commenting.java 19 Dec 2007 04:29:24 -0000 1.1
+++ Commenting.java 9 Jan 2008 15:59:24 -0000 1.2
@@ -12,6 +12,7 @@
import org.jboss.seam.wiki.core.model.User;
import org.jboss.seam.wiki.core.model.WikiDocument;
import org.jboss.seam.wiki.core.model.WikiDirectory;
+import org.jboss.seam.wiki.core.model.WikiComment;
import org.jboss.seam.wiki.core.dao.WikiNodeDAO;
import org.jboss.seam.wiki.test.util.DBUnitSeamTest;
import org.jboss.seam.contexts.Contexts;
@@ -32,7 +33,6 @@
protected void beforeRequest() {
setParameter("documentId", "6");
- setParameter("parentDirectoryId", "3");
}
protected void updateModelValues() throws Exception {
@@ -86,7 +86,6 @@
protected void beforeRequest() {
setParameter("documentId", "6");
- setParameter("parentDirectoryId", "3");
}
protected void updateModelValues() throws Exception {
@@ -94,18 +93,20 @@
}
protected void invokeApplication() throws Exception {
- invokeMethod("#{commentHome.remove(15)}");
+ invokeMethod("#{commentHome.remove(12)}");
}
protected void renderResponse() throws Exception {
CommentQuery commentQuery = (CommentQuery)getInstance("commentQuery");
- assert commentQuery.getComments().size() == 5;
-
+ assert commentQuery.getComments().size() == 4;
assert commentQuery.getComments().get(0).getId().equals(10l);
+ assert commentQuery.getComments().get(0).getLevel().equals(1l);
assert commentQuery.getComments().get(1).getId().equals(11l);
- assert commentQuery.getComments().get(2).getId().equals(12l);
- assert commentQuery.getComments().get(3).getId().equals(13l);
- assert commentQuery.getComments().get(4).getId().equals(14l);
+ assert commentQuery.getComments().get(1).getLevel().equals(2l);
+ assert commentQuery.getComments().get(2).getId().equals(14l);
+ assert commentQuery.getComments().get(2).getLevel().equals(1l);
+ assert commentQuery.getComments().get(3).getId().equals(15l);
+ assert commentQuery.getComments().get(3).getLevel().equals(2l);
}
}.run();
1.1 date: 2008/01/09 15:59:24; author: cbauer; state: Exp;jboss-seam/examples/wiki/src/test/org/jboss/seam/wiki/test/editing/TrashTests.java
Index: TrashTests.java
===================================================================
/*
* JBoss, Home of Professional Open Source
*
* Distributable under LGPL license.
* See terms of license at gnu.org.
*/
package org.jboss.seam.wiki.test.editing;
import org.dbunit.operation.DatabaseOperation;
import org.jboss.seam.wiki.test.util.DBUnitSeamTest;
import org.jboss.seam.wiki.core.action.DocumentHome;
import org.jboss.seam.wiki.core.action.DirectoryHome;
import org.jboss.seam.wiki.core.action.UploadHome;
import org.jboss.seam.wiki.core.action.PreferenceEditor;
import org.jboss.seam.wiki.core.model.WikiDirectory;
import org.jboss.seam.wiki.core.model.WikiDocument;
import org.jboss.seam.wiki.core.model.WikiFeed;
import org.jboss.seam.wiki.core.model.FeedEntry;
import org.jboss.seam.wiki.core.dao.WikiNodeDAO;
import org.jboss.seam.wiki.core.feeds.FeedDAO;
import org.jboss.seam.wiki.preferences.PreferenceProvider;
import org.jboss.seam.wiki.preferences.PreferenceValue;
import org.jboss.seam.wiki.preferences.metamodel.PreferenceRegistry;
import org.jboss.seam.wiki.preferences.metamodel.PreferenceEntity;
import org.testng.annotations.Test;
import java.util.List;
/**
* @author Christian Bauer
*/
public class TrashTests extends DBUnitSeamTest {
protected void prepareDBUnitOperations() {
beforeTestOperations.add(
new DataSetOperation("org/jboss/seam/wiki/test/WikiBaseData.dbunit.xml", DatabaseOperation.CLEAN_INSERT)
);
beforeTestOperations.add(
new DataSetOperation("org/jboss/seam/wiki/test/UploadData.dbunit.xml", DatabaseOperation.INSERT)
);
}
@Test
public void trashDeleteDocument2() throws Exception {
// Set the wikiStart to something else so we can delete this document
loginAdmin();
final String prefsConversationId = new NonFacesRequest("/adminHome_d.xhtml") {}.run();
new FacesRequest("/adminHome_d.xhtml") {
protected void beforeRequest() {
setParameter("cid", prefsConversationId);
}
protected void invokeApplication() throws Exception {
PreferenceRegistry registry = (PreferenceRegistry)getInstance("preferenceRegistry");
PreferenceEntity wikiEntity = registry.getPreferenceEntitiesByName().get("Wiki");
invokeMethod("#{adminHome.initPreferencesEditor}");
PreferenceEditor prefEditor = (PreferenceEditor)getInstance("preferenceEditor");
prefEditor.selectPreferenceEntity(wikiEntity);
}
}.run();
new FacesRequest("/adminHome_d.xhtml") {
protected void beforeRequest() {
setParameter("cid", prefsConversationId);
}
protected void invokeApplication() throws Exception {
PreferenceEditor prefEditor = (PreferenceEditor)getInstance("preferenceEditor");
List<PreferenceValue> values = prefEditor.getPreferenceValues();
// This is somewhat dodgy... no other way to get the value we want
for (PreferenceValue value : values) {
if (value.getPreferenceProperty().getFieldName().equals("defaultDocumentId")) {
value.setValue(7l);
}
}
assert invokeMethod("#{adminHome.update()}") == null;
}
}.run();
// Now delete this document
final String conversationId = new NonFacesRequest("/docEdit_d.xhtml") {
protected void beforeRequest() {
setParameter("documentId", "6");
}
}.run();
new FacesRequest("/docEdit_d.xhtml") {
protected void beforeRequest() {
setParameter("cid", conversationId);
}
protected void invokeApplication() throws Exception {
DocumentHome docHome = (DocumentHome)getInstance("documentHome");
assert docHome.getInstance().getId().equals(6l); // Init!
assert invokeMethod("#{documentHome.remove}").equals("removed");
}
}.run();
loginAdmin();
new NonFacesRequest("/wiki.xhtml") {
protected void beforeRequest() {
setParameter("areaName", "Trash");
}
protected void renderResponse() throws Exception {
DirectoryHome dirHome = (DirectoryHome)getInstance("directoryHome");
assert dirHome.getInstance().getId().equals(17l); // Init!
assert dirHome.getChildNodes().size() == 1;
assert dirHome.getChildNodes().get(0).getId().equals(6l);
assert getRenderedViewId().equals("/dirDisplay_d.xhtml");
}
}.run();
new FacesRequest("/dirDisplay_d.xhtml") {
protected void beforeRequest() {
setParameter("directoryId", "17");
}
protected void invokeApplication() throws Exception {
DirectoryHome dirHome = (DirectoryHome)getInstance("directoryHome");
assert dirHome.getInstance().getId().equals(17l); // Init!
dirHome.emptyTrash();
}
}.run();
new NonFacesRequest("/wiki.xhtml") {
protected void beforeRequest() {
setParameter("areaName", "Trash");
}
protected void renderResponse() throws Exception {
DirectoryHome dirHome = (DirectoryHome)getInstance("directoryHome");
assert dirHome.getInstance().getId().equals(17l); // Init!
assert dirHome.getChildNodes().size() == 0;
WikiNodeDAO dao = (WikiNodeDAO)getInstance("wikiNodeDAO");
assert dao.findWikiNode(6l) == null;
assert dao.findWikiComment(10l) == null;
assert dao.findWikiComment(11l) == null;
assert dao.findWikiComment(12l) == null;
assert dao.findWikiComment(13l) == null;
assert dao.findWikiComment(14l) == null;
assert dao.findWikiComment(15l) == null;
assert getRenderedViewId().equals("/dirDisplay_d.xhtml");
// Comments should be gone
}
}.run();
}
@Test
public void trashDeleteDocument() throws Exception {
final String conversationId = new NonFacesRequest("/docEdit_d.xhtml") {
protected void beforeRequest() {
setParameter("documentId", "9");
}
}.run();
new FacesRequest("/docEdit_d.xhtml") {
protected void beforeRequest() {
setParameter("cid", conversationId);
}
protected void invokeApplication() throws Exception {
DocumentHome docHome = (DocumentHome)getInstance("documentHome");
assert docHome.getInstance().getId().equals(9l); // Init!
assert invokeMethod("#{documentHome.remove}").equals("removed");
}
// Feed entries should be gone
protected void renderResponse() throws Exception {
WikiNodeDAO nodeDAO = (WikiNodeDAO)getInstance("wikiNodeDAO");
WikiDocument document = nodeDAO.findWikiDocument(9l);
FeedDAO feedDAO = (FeedDAO)getInstance("feedDAO");
List<WikiFeed> feeds = feedDAO.findFeeds(document);
assert feeds.size() == 0;
}
}.run();
loginAdmin();
new NonFacesRequest("/wiki.xhtml") {
protected void beforeRequest() {
setParameter("areaName", "Trash");
}
protected void renderResponse() throws Exception {
DirectoryHome dirHome = (DirectoryHome)getInstance("directoryHome");
assert dirHome.getInstance().getId().equals(17l); // Init!
assert dirHome.getChildNodes().size() == 1;
assert dirHome.getChildNodes().get(0).getId().equals(9l);
assert getRenderedViewId().equals("/dirDisplay_d.xhtml");
}
}.run();
new FacesRequest("/dirDisplay_d.xhtml") {
protected void beforeRequest() {
setParameter("directoryId", "17");
}
protected void invokeApplication() throws Exception {
DirectoryHome dirHome = (DirectoryHome)getInstance("directoryHome");
assert dirHome.getInstance().getId().equals(17l); // Init!
dirHome.emptyTrash();
}
}.run();
new NonFacesRequest("/wiki.xhtml") {
protected void beforeRequest() {
setParameter("areaName", "Trash");
}
protected void renderResponse() throws Exception {
DirectoryHome dirHome = (DirectoryHome)getInstance("directoryHome");
assert dirHome.getInstance().getId().equals(17l); // Init!
assert dirHome.getChildNodes().size() == 0;
WikiNodeDAO dao = (WikiNodeDAO)getInstance("wikiNodeDAO");
assert dao.findWikiNode(9l) == null;
assert getRenderedViewId().equals("/dirDisplay_d.xhtml");
// Comments should be gone
}
}.run();
}
@Test
public void trashDeleteUpload() throws Exception {
final String conversationId = new NonFacesRequest("/uploadEdit_d.xhtml") {
protected void beforeRequest() {
setParameter("uploadId", "30");
}
}.run();
new FacesRequest("/uploadEdit_d.xhtml") {
protected void beforeRequest() {
setParameter("cid", conversationId);
}
protected void invokeApplication() throws Exception {
UploadHome uploadHome = (UploadHome)getInstance("uploadHome");
assert uploadHome.getInstance().getId().equals(30l); // Init!
assert invokeMethod("#{uploadHome.remove}").equals("removed");
}
}.run();
loginAdmin();
new NonFacesRequest("/wiki.xhtml") {
protected void beforeRequest() {
setParameter("areaName", "Trash");
}
protected void renderResponse() throws Exception {
DirectoryHome dirHome = (DirectoryHome)getInstance("directoryHome");
assert dirHome.getInstance().getId().equals(17l); // Init!
assert dirHome.getChildNodes().size() == 1;
assert dirHome.getChildNodes().get(0).getId().equals(30l);
assert getRenderedViewId().equals("/dirDisplay_d.xhtml");
}
}.run();
new FacesRequest("/dirDisplay_d.xhtml") {
protected void beforeRequest() {
setParameter("directoryId", "17");
}
protected void invokeApplication() throws Exception {
DirectoryHome dirHome = (DirectoryHome)getInstance("directoryHome");
assert dirHome.getInstance().getId().equals(17l); // Init!
dirHome.emptyTrash();
}
}.run();
new NonFacesRequest("/wiki.xhtml") {
protected void beforeRequest() {
setParameter("areaName", "Trash");
}
protected void renderResponse() throws Exception {
DirectoryHome dirHome = (DirectoryHome)getInstance("directoryHome");
assert dirHome.getChildNodes().size() == 0;
WikiNodeDAO dao = (WikiNodeDAO)getInstance("wikiNodeDAO");
assert dao.findWikiNode(30l) == null;
assert getRenderedViewId().equals("/dirDisplay_d.xhtml");
}
}.run();
}
private void loginAdmin() throws Exception {
new FacesRequest() {
protected void invokeApplication() throws Exception {
setValue("#{identity.username}", "admin");
setValue("#{identity.password}", "admin");
invokeAction("#{identity.login}");
assert getValue("#{identity.loggedIn}").equals(true);
}
}.run();
}
}
More information about the jboss-cvs-commits
mailing list