[jboss-cvs] jboss-seam/examples/wiki/src/test/org/jboss/seam/wiki/test/model ...
Christian Bauer
christian at hibernate.org
Tue Dec 18 23:29:24 EST 2007
User: cbauer
Date: 07/12/18 23:29:24
Added: examples/wiki/src/test/org/jboss/seam/wiki/test/model
CommentTests.java DocumentTests.java
DirectoryTests.java MenuTests.java URLTests.java
Log:
Major rewrite of the most of the application
Revision Changes Path
1.1 date: 2007/12/19 04:29:24; author: cbauer; state: Exp;jboss-seam/examples/wiki/src/test/org/jboss/seam/wiki/test/model/CommentTests.java
Index: CommentTests.java
===================================================================
/*
* JBoss, Home of Professional Open Source
*
* Distributable under LGPL license.
* See terms of license at gnu.org.
*/
package org.jboss.seam.wiki.test.model;
import org.jboss.seam.wiki.test.util.DBUnitSeamTest;
import org.jboss.seam.wiki.core.model.WikiDocument;
import org.jboss.seam.wiki.core.model.WikiComment;
import org.jboss.seam.wiki.core.model.User;
import org.jboss.seam.wiki.util.WikiUtil;
import org.dbunit.operation.DatabaseOperation;
import org.testng.annotations.Test;
import javax.persistence.EntityManager;
import java.util.List;
import java.util.Date;
public class CommentTests extends DBUnitSeamTest {
protected void prepareDBUnitOperations() {
beforeTestOperations.add(
new DataSetOperation("org/jboss/seam/wiki/test/WikiBaseData.dbunit.xml", DatabaseOperation.CLEAN_INSERT)
);
}
@Test
public void findAllCommentsFlat() throws Exception {
new FacesRequest() {
protected void invokeApplication() throws Exception {
EntityManager em = (EntityManager) getInstance("restrictedEntityManager");
WikiDocument d = (WikiDocument)
em.createQuery("select d from WikiDocument d where d.id = :id")
.setParameter("id", 6l)
.getSingleResult();
assert d.getName().equals("One");
List<WikiComment> comments =
em.createQuery("select c from WikiComment c where c.parent = :doc order by c.createdOn asc")
.setParameter("doc", d)
.getResultList();
assert comments.size() == 2;
assert comments.get(0).getName().equals("One.Comment11967298211870");
assert comments.get(1).getSubject().equals("Five");
}
}.run();
}
@Test
public void findAllCommentsHierachical() throws Exception {
new FacesRequest() {
protected void invokeApplication() throws Exception {
EntityManager em = (EntityManager) getInstance("restrictedEntityManager");
WikiDocument d = (WikiDocument)
em.createQuery("select d from WikiDocument d where d.id = :id")
.setParameter("id", 6l)
.getSingleResult();
assert d.getName().equals("One");
List<Object[]> result = queryComments(d, em);
assert result.size() == 6;
Object[] one = result.get(0);
assert one[0].equals(1l);
assert one[1].equals(10l);
assert one[2].equals(1l);
assert one[3].equals(8l);
assert one[4].equals(10l);
Object[] two = result.get(1);
assert two[0].equals(2l);
assert two[1].equals(11l);
assert two[2].equals(2l);
assert two[3].equals(3l);
assert two[4].equals(10l);
Object[] three = result.get(2);
assert three[0].equals(2l);
assert three[1].equals(12l);
assert three[2].equals(4l);
assert three[3].equals(7l);
assert three[4].equals(10l);
Object[] four = result.get(3);
assert four[0].equals(3l);
assert four[1].equals(13l);
assert four[2].equals(5l);
assert four[3].equals(6l);
assert four[4].equals(10l);
Object[] five = result.get(4);
assert five[0].equals(1l);
assert five[1].equals(14l);
assert five[2].equals(1l);
assert five[3].equals(4l);
assert five[4].equals(14l);
Object[] six = result.get(5);
assert six[0].equals(2l);
assert six[1].equals(15l);
assert six[2].equals(2l);
assert six[3].equals(3l);
assert six[4].equals(14l);
}
}.run();
}
@Test
public void insertCommentNewThread() throws Exception {
new FacesRequest() {
protected void invokeApplication() throws Exception {
EntityManager em = (EntityManager) getInstance("restrictedEntityManager");
WikiDocument d = (WikiDocument)
em.createQuery("select d from WikiDocument d where d.id = :id")
.setParameter("id", 6l)
.getSingleResult();
assert d.getName().equals("One");
WikiComment newComment = new WikiComment();
newComment.setAreaNumber(d.getAreaNumber());
newComment.setDerivedName(d);
newComment.setWikiname(WikiUtil.convertToWikiName(newComment.getName()));
newComment.setCreatedBy(em.find(User.class, 1l));
newComment.setSubject("Seven");
newComment.setContent("Testcomment Seven");
newComment.setUseWikiText(true);
newComment.setParent(d);
em.persist(newComment);
em.flush();
em.clear();
List<Object[]> result = queryComments(d, em);
assert result.size() == 7;
Object[] one = result.get(0);
assert one[0].equals(1l);
assert one[1].equals(10l);
assert one[2].equals(1l);
assert one[3].equals(8l);
assert one[4].equals(10l);
Object[] two = result.get(1);
assert two[0].equals(2l);
assert two[1].equals(11l);
assert two[2].equals(2l);
assert two[3].equals(3l);
assert two[4].equals(10l);
Object[] three = result.get(2);
assert three[0].equals(2l);
assert three[1].equals(12l);
assert three[2].equals(4l);
assert three[3].equals(7l);
assert three[4].equals(10l);
Object[] four = result.get(3);
assert four[0].equals(3l);
assert four[1].equals(13l);
assert four[2].equals(5l);
assert four[3].equals(6l);
assert four[4].equals(10l);
Object[] five = result.get(4);
assert five[0].equals(1l);
assert five[1].equals(14l);
assert five[2].equals(1l);
assert five[3].equals(4l);
assert five[4].equals(14l);
Object[] six = result.get(5);
assert six[0].equals(2l);
assert six[1].equals(15l);
assert six[2].equals(2l);
assert six[3].equals(3l);
assert six[4].equals(14l);
Object[] seven = result.get(6);
assert seven[0].equals(1l);
assert seven[1].equals(newComment.getId());
assert seven[2].equals(1l);
assert seven[3].equals(2l);
assert seven[4].equals(newComment.getId());
}
}.run();
}
@Test
public void findCommentParent() throws Exception {
new FacesRequest() {
protected void invokeApplication() throws Exception {
EntityManager em = (EntityManager) getInstance("restrictedEntityManager");
WikiComment comment = (WikiComment)
em.createQuery("select c from WikiComment c where c.id = :id")
.setParameter("id", 13l)
.getSingleResult();
assert comment.getSubject().equals("Four");
assert comment.getParentDocument().getId().equals(6l);
}
}.run();
}
private List<Object[]> queryComments(WikiDocument doc, EntityManager em) {
String query =
"select count(c1.id) as nslevel, c1.id, c1.nodeInfo.nsLeft, c1.nodeInfo.nsRight, c1.nodeInfo.nsThread " +
" from WikiComment c1, WikiComment c2 " +
" where c1.nodeInfo.nsThread = c2.nodeInfo.nsThread" +
" and c2.nodeInfo.nsThread in (select c3.nodeInfo.nsThread from WikiComment c3 where c3.parent = :doc)" +
" and c1.nodeInfo.nsLeft between c2.nodeInfo.nsLeft and c2.nodeInfo.nsRight" +
" group by c1.id, c1.nodeInfo.nsLeft, c1.nodeInfo.nsRight, c1.nodeInfo.nsThread" +
" order by c1.nodeInfo.nsThread asc, c1.nodeInfo.nsLeft asc";
return em.createQuery(query)
.setParameter("doc", doc)
.getResultList();
}
}
1.1 date: 2007/12/19 04:29:24; author: cbauer; state: Exp;jboss-seam/examples/wiki/src/test/org/jboss/seam/wiki/test/model/DocumentTests.java
Index: DocumentTests.java
===================================================================
/*
* JBoss, Home of Professional Open Source
*
* Distributable under LGPL license.
* See terms of license at gnu.org.
*/
package org.jboss.seam.wiki.test.model;
import org.dbunit.operation.DatabaseOperation;
import org.jboss.seam.wiki.core.model.User;
import org.jboss.seam.wiki.core.model.WikiDirectory;
import org.jboss.seam.wiki.core.model.WikiDocument;
import org.jboss.seam.wiki.test.util.DBUnitSeamTest;
import org.testng.annotations.Test;
import javax.persistence.EntityManager;
public class DocumentTests extends DBUnitSeamTest {
protected void prepareDBUnitOperations() {
beforeTestOperations.add(
new DataSetOperation("org/jboss/seam/wiki/test/WikiBaseData.dbunit.xml", DatabaseOperation.CLEAN_INSERT)
);
}
@Test
public void loadDocumentById() throws Exception {
new FacesRequest() {
protected void invokeApplication() throws Exception {
EntityManager em = (EntityManager) getInstance("restrictedEntityManager");
WikiDocument d = (WikiDocument)
em.createQuery("select d from WikiDocument d where d.id = :id")
.setParameter("id", 6l)
.getSingleResult();
assert d.getName().equals("One");
}
}.run();
}
@Test
public void updateDocumentById() throws Exception {
new FacesRequest() {
protected void invokeApplication() throws Exception {
EntityManager em = (EntityManager) getInstance("restrictedEntityManager");
WikiDocument d = (WikiDocument)
em.createQuery("select d from WikiDocument d where d.id = :id")
.setParameter("id", 6l)
.getSingleResult();
d.setName("One2");
em.flush();
em.clear();
d = (WikiDocument)
em.createQuery("select d from WikiDocument d where d.id = :id")
.setParameter("id", 6l)
.getSingleResult();
assert d.getName().equals("One2");
assert d.getLastModifiedBy() != null;
assert d.getLastModifiedOn() != null;
}
}.run();
}
@Test
public void deleteDocumentById() throws Exception {
new FacesRequest() {
protected void invokeApplication() throws Exception {
EntityManager em = (EntityManager) getInstance("restrictedEntityManager");
WikiDocument d = (WikiDocument)
em.createQuery("select d from WikiDocument d left join fetch d.incomingLinks where d.id = :id")
.setParameter("id", 8l)
.getSingleResult();
assert d.getIncomingLinks().size() == 1;
em.clear();
d = (WikiDocument)
em.createQuery("select d from WikiDocument d left join fetch d.incomingLinks where d.id = :id")
.setParameter("id", 9l)
.getSingleResult();
assert d.getIncomingLinks().size() == 1;
em.clear();
d = (WikiDocument)
em.createQuery("select d from WikiDocument d where d.id = :id")
.setParameter("id", 7l)
.getSingleResult();
assert d.getOutgoingLinks().size() == 2;
em.remove(d);
em.flush();
try {
d = null;
d = (WikiDocument)
em.createQuery("select d from WikiDocument d where d.id = :id")
.setParameter("id", 7l)
.getSingleResult();
} catch (Exception ex) {} finally {
assert d == null;
}
em.clear();
d = (WikiDocument)
em.createQuery("select d from WikiDocument d left join fetch d.incomingLinks where d.id = :id")
.setParameter("id", 8l)
.getSingleResult();
assert d.getIncomingLinks().size() == 0;
em.clear();
d = (WikiDocument)
em.createQuery("select d from WikiDocument d left join fetch d.incomingLinks where d.id = :id")
.setParameter("id", 9l)
.getSingleResult();
assert d.getIncomingLinks().size() == 0;
}
}.run();
}
@Test
public void insertDocumentById() throws Exception {
new FacesRequest() {
protected void invokeApplication() throws Exception {
EntityManager em = (EntityManager) getInstance("restrictedEntityManager");
WikiDirectory d = (WikiDirectory)
em.createQuery("select d from WikiDirectory d where d.id = :id")
.setParameter("id", 3l)
.getSingleResult();
WikiDocument newDoc = new WikiDocument();
newDoc.setName("Four");
newDoc.setWikiname("Four");
newDoc.setAreaNumber(d.getAreaNumber());
newDoc.setCreatedBy(em.find(User.class, 1l));
newDoc.setContent("Testdocument Four");
newDoc.setParent(d);
em.persist(newDoc);
em.flush();
em.clear();
WikiDocument doc = (WikiDocument)
em.createQuery("select d from WikiDocument d where d.id = :id")
.setParameter("id", newDoc.getId())
.getSingleResult();
assert doc.getName().equals("Four");
assert doc.getParent().getId().equals(d.getId());
assert doc.getAreaNumber().equals(d.getAreaNumber());
assert doc.getLastModifiedBy() == null;
assert doc.getLastModifiedOn() == null;
}
}.run();
}
}
1.1 date: 2007/12/19 04:29:24; author: cbauer; state: Exp;jboss-seam/examples/wiki/src/test/org/jboss/seam/wiki/test/model/DirectoryTests.java
Index: DirectoryTests.java
===================================================================
/*
* JBoss, Home of Professional Open Source
*
* Distributable under LGPL license.
* See terms of license at gnu.org.
*/
package org.jboss.seam.wiki.test.model;
import org.dbunit.operation.DatabaseOperation;
import org.jboss.seam.wiki.core.model.User;
import org.jboss.seam.wiki.core.model.WikiDirectory;
import org.jboss.seam.wiki.test.util.DBUnitSeamTest;
import org.testng.annotations.Test;
import javax.persistence.EntityManager;
public class DirectoryTests extends DBUnitSeamTest {
protected void prepareDBUnitOperations() {
beforeTestOperations.add(
new DataSetOperation("org/jboss/seam/wiki/test/WikiBaseData.dbunit.xml", DatabaseOperation.CLEAN_INSERT)
);
}
@Test
public void loadDirectoryById() throws Exception {
new FacesRequest() {
protected void invokeApplication() throws Exception {
EntityManager em = (EntityManager) getInstance("restrictedEntityManager");
WikiDirectory d = (WikiDirectory)
em.createQuery("select d from WikiDirectory d where d.id = :id")
.setParameter("id", 1l)
.getSingleResult();
assert d.getName().equals("AAA");
assert d.getNodeInfo().getNsLeft().equals(1l);
assert d.getNodeInfo().getNsRight().equals(999l);
}
}.run();
}
@Test
public void updateDirectoryById() throws Exception {
new FacesRequest() {
protected void invokeApplication() throws Exception {
EntityManager em = (EntityManager) getInstance("restrictedEntityManager");
WikiDirectory d = (WikiDirectory)
em.createQuery("select d from WikiDirectory d where d.id = :id")
.setParameter("id", 1l)
.getSingleResult();
d.setName("AAA2");
em.flush();
em.clear();
d = (WikiDirectory)
em.createQuery("select d from WikiDirectory d where d.id = :id")
.setParameter("id", 1l)
.getSingleResult();
assert d.getName().equals("AAA2");
assert d.getNodeInfo().getNsLeft().equals(1l);
assert d.getNodeInfo().getNsRight().equals(999l);
}
}.run();
}
@Test
public void deleteDirectoryById() throws Exception {
new FacesRequest() {
protected void invokeApplication() throws Exception {
EntityManager em = (EntityManager) getInstance("restrictedEntityManager");
WikiDirectory d = (WikiDirectory)
em.createQuery("select d from WikiDirectory d where d.id = :id")
.setParameter("id", 4l)
.getSingleResult();
em.remove(d);
em.flush();
em.clear();
d = (WikiDirectory)
em.createQuery("select d from WikiDirectory d where d.id = :id")
.setParameter("id", 1l)
.getSingleResult();
assert d.getName().equals("AAA");
assert d.getNodeInfo().getNsLeft().equals(1l);
assert d.getNodeInfo().getNsRight().equals(997l);
em.clear();
d = (WikiDirectory)
em.createQuery("select d from WikiDirectory d where d.id = :id")
.setParameter("id", 3l)
.getSingleResult();
assert d.getName().equals("CCC");
assert d.getNodeInfo().getNsLeft().equals(4l);
assert d.getNodeInfo().getNsRight().equals(7l);
em.clear();
d = (WikiDirectory)
em.createQuery("select d from WikiDirectory d where d.id = :id")
.setParameter("id", 5l)
.getSingleResult();
assert d.getName().equals("EEE");
assert d.getNodeInfo().getNsLeft().equals(5l);
assert d.getNodeInfo().getNsRight().equals(6l);
}
}.run();
}
@Test
public void deleteDirectoryTreeById() throws Exception {
new FacesRequest() {
protected void invokeApplication() throws Exception {
EntityManager em = (EntityManager) getInstance("restrictedEntityManager");
WikiDirectory d = (WikiDirectory)
em.createQuery("select d from WikiDirectory d where d.id = :id")
.setParameter("id", 3l)
.getSingleResult();
em.remove(d);
em.flush();
em.clear();
d = (WikiDirectory)
em.createQuery("select d from WikiDirectory d where d.id = :id")
.setParameter("id", 1l)
.getSingleResult();
assert d.getName().equals("AAA");
assert d.getNodeInfo().getNsLeft().equals(1l);
assert d.getNodeInfo().getNsRight().equals(993l);
em.clear();
d = (WikiDirectory)
em.createQuery("select d from WikiDirectory d where d.id = :id")
.setParameter("id", 2l)
.getSingleResult();
assert d.getName().equals("BBB");
assert d.getNodeInfo().getNsLeft().equals(2l);
assert d.getNodeInfo().getNsRight().equals(3l);
em.clear();
try {
d = null;
d = (WikiDirectory)
em.createQuery("select d from WikiDirectory d where d.id = :id")
.setParameter("id", 3l)
.getSingleResult();
} catch (Exception ex) {} finally {
assert d == null;
}
em.clear();
try {
d = null;
d = (WikiDirectory)
em.createQuery("select d from WikiDirectory d where d.id = :id")
.setParameter("id", 4l)
.getSingleResult();
} catch (Exception ex) {} finally {
assert d == null;
}
em.clear();
try {
d = null;
d = (WikiDirectory)
em.createQuery("select d from WikiDirectory d where d.id = :id")
.setParameter("id", 5l)
.getSingleResult();
} catch (Exception ex) {} finally {
assert d == null;
}
}
}.run();
}
@Test
public void insertDirectoryById() throws Exception {
new FacesRequest() {
protected void invokeApplication() throws Exception {
EntityManager em = (EntityManager) getInstance("restrictedEntityManager");
WikiDirectory d = (WikiDirectory)
em.createQuery("select d from WikiDirectory d where d.id = :id")
.setParameter("id", 3l)
.getSingleResult();
WikiDirectory newDir = new WikiDirectory();
newDir.setName("FFF");
newDir.setWikiname("FFF");
newDir.setAreaNumber(d.getAreaNumber());
newDir.setCreatedBy(em.find(User.class, 1l));
newDir.setParent(d);
em.persist(newDir);
em.flush();
em.clear();
d = (WikiDirectory)
em.createQuery("select d from WikiDirectory d where d.id = :id")
.setParameter("id", 1l)
.getSingleResult();
assert d.getName().equals("AAA");
assert d.getNodeInfo().getNsLeft().equals(1l);
assert d.getNodeInfo().getNsRight().equals(1001l);
em.clear();
d = (WikiDirectory)
em.createQuery("select d from WikiDirectory d where d.id = :id")
.setParameter("id", 3l)
.getSingleResult();
assert d.getName().equals("CCC");
assert d.getNodeInfo().getNsLeft().equals(4l);
assert d.getNodeInfo().getNsRight().equals(11l);
em.clear();
d = (WikiDirectory)
em.createQuery("select d from WikiDirectory d where d.id = :id")
.setParameter("id", newDir.getId())
.getSingleResult();
assert d.getName().equals("FFF");
assert d.getNodeInfo().getNsLeft().equals(9l);
assert d.getNodeInfo().getNsRight().equals(10l);
}
}.run();
}
}
1.1 date: 2007/12/19 04:29:24; author: cbauer; state: Exp;jboss-seam/examples/wiki/src/test/org/jboss/seam/wiki/test/model/MenuTests.java
Index: MenuTests.java
===================================================================
/*
* JBoss, Home of Professional Open Source
*
* Distributable under LGPL license.
* See terms of license at gnu.org.
*/
package org.jboss.seam.wiki.test.model;
import org.dbunit.operation.DatabaseOperation;
import org.jboss.seam.wiki.core.model.WikiDirectory;
import org.jboss.seam.wiki.core.model.WikiMenuItem;
import org.jboss.seam.wiki.test.util.DBUnitSeamTest;
import org.testng.annotations.Test;
import javax.persistence.EntityManager;
import java.util.List;
public class MenuTests extends DBUnitSeamTest {
protected void prepareDBUnitOperations() {
beforeTestOperations.add(
new DataSetOperation("org/jboss/seam/wiki/test/WikiBaseData.dbunit.xml", DatabaseOperation.CLEAN_INSERT)
);
}
@Test
public void findAllMenuItems() throws Exception {
new FacesRequest() {
protected void invokeApplication() throws Exception {
EntityManager em = (EntityManager) getInstance("restrictedEntityManager");
WikiDirectory root = (WikiDirectory)
em.createQuery("select d from WikiDirectory d where d.id = :id")
.setParameter("id", 1l)
.getSingleResult();
List<Object[]> result = queryMenuItems(root, em);
assert result.size() == 3;
Object[] one = result.get(0);
assert one[0].equals(2l);
assert one[1].equals(2l);
assert one[2].equals(0l);
Object[] two = result.get(1);
assert two[0].equals(2l);
assert two[1].equals(3l);
assert two[2].equals(1l);
Object[] three = result.get(2);
assert three[0].equals(3l);
assert three[1].equals(4l);
assert three[2].equals(0l);
}
}.run();
}
@Test
public void removeMenuItem() throws Exception {
new FacesRequest() {
protected void invokeApplication() throws Exception {
EntityManager em = (EntityManager) getInstance("restrictedEntityManager");
WikiDirectory d = (WikiDirectory)
em.createQuery("select d from WikiDirectory d where d.id = :id")
.setParameter("id", 1l)
.getSingleResult();
List<WikiMenuItem> menuItems =
em.createQuery("select m from WikiMenuItem m where m.id in (select d.id from WikiDirectory d where d.parent = :parent)")
.setParameter("parent", d).getResultList();
assert menuItems.size() == 2;
WikiMenuItem removedItem = menuItems.remove(0);
em.remove(removedItem);
for (int i = 0; i<menuItems.size(); i++) {
WikiMenuItem itm = menuItems.get(i);
itm.setDisplayPosition(i);
}
em.flush();
em.clear();
List<Object[]> result = queryMenuItems(d, em);
assert result.size() == 2;
Object[] one = result.get(0);
assert one[0].equals(2l);
assert one[1].equals(3l);
assert one[2].equals(0l);
Object[] two = result.get(1);
assert two[0].equals(3l);
assert two[1].equals(4l);
assert two[2].equals(0l);
}
}.run();
}
@Test
public void addMenuItem() throws Exception {
new FacesRequest() {
protected void invokeApplication() throws Exception {
EntityManager em = (EntityManager) getInstance("restrictedEntityManager");
WikiDirectory root = (WikiDirectory)
em.createQuery("select d from WikiDirectory d where d.id = :id")
.setParameter("id", 1l)
.getSingleResult();
WikiDirectory d = (WikiDirectory)
em.createQuery("select d from WikiDirectory d where d.id = :id")
.setParameter("id", 5l)
.getSingleResult();
List<WikiMenuItem> menuItems =
em.createQuery("select m from WikiMenuItem m where m.id in (select d.id from WikiDirectory d where d.parent = :parent)")
.setParameter("parent", d.getParent()).getResultList();
WikiMenuItem newMenuItem = new WikiMenuItem(d);
menuItems.add(newMenuItem);
assert menuItems.size() == 2;
for (int i = 0; i<menuItems.size(); i++) {
WikiMenuItem itm = menuItems.get(i);
itm.setDisplayPosition(i);
}
em.persist(newMenuItem);
em.flush();
em.clear();
List<Object[]> result = queryMenuItems(root, em);
assert result.size() == 4;
Object[] one = result.get(0);
assert one[0].equals(2l);
assert one[1].equals(2l);
assert one[2].equals(0l);
Object[] two = result.get(1);
assert two[0].equals(2l);
assert two[1].equals(3l);
assert two[2].equals(1l);
Object[] three = result.get(2);
assert three[0].equals(3l);
assert three[1].equals(4l);
assert three[2].equals(0l);
Object[] four = result.get(3);
assert four[0].equals(3l);
assert four[1].equals(5l);
assert four[2].equals(1l);
}
}.run();
}
private List<Object[]> queryMenuItems(WikiDirectory start, EntityManager em) {
String query =
"select count(d1.id), d1.id, m.displayPosition" +
" from WikiDirectory d1, WikiDirectory d2, WikiMenuItem m" +
" where d1.nodeInfo.nsThread = :thread and d2.nodeInfo.nsThread = d1.nodeInfo.nsThread" +
" and d1.nodeInfo.nsLeft between d2.nodeInfo.nsLeft and d2.nodeInfo.nsRight" +
" and d2.nodeInfo.nsLeft >= :left and d2.nodeInfo.nsRight <= :right" +
" and m.id = d1.id" +
" group by d1.id, m.displayPosition";
return em.createQuery(query)
.setParameter("thread", start.getNodeInfo().getNsThread())
.setParameter("left", start.getNodeInfo().getNsLeft())
.setParameter("right", start.getNodeInfo().getNsRight())
.getResultList();
}
}
1.1 date: 2007/12/19 04:29:24; author: cbauer; state: Exp;jboss-seam/examples/wiki/src/test/org/jboss/seam/wiki/test/model/URLTests.java
Index: URLTests.java
===================================================================
/*
* JBoss, Home of Professional Open Source
*
* Distributable under LGPL license.
* See terms of license at gnu.org.
*/
package org.jboss.seam.wiki.test.model;
import org.dbunit.operation.DatabaseOperation;
import org.jboss.seam.wiki.core.model.*;
import org.jboss.seam.wiki.test.util.DBUnitSeamTest;
import org.testng.annotations.Test;
import javax.persistence.EntityManager;
public class URLTests 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 documentURL() throws Exception {
new FacesRequest() {
protected void invokeApplication() throws Exception {
EntityManager em = (EntityManager) getInstance("restrictedEntityManager");
WikiDocument d = (WikiDocument)
em.createQuery("select d from WikiDocument d where d.id = :id")
.setParameter("id", 6l)
.getSingleResult();
assert d.getPermURL(".lace").equals("/6.lace");
assert d.getWikiURL().equals("/CCC/One");
}
}.run();
}
@Test
public void directoryURL() throws Exception {
new FacesRequest() {
protected void invokeApplication() throws Exception {
EntityManager em = (EntityManager) getInstance("restrictedEntityManager");
WikiDirectory d = (WikiDirectory)
em.createQuery("select d from WikiDirectory d where d.id = :id")
.setParameter("id", 3l)
.getSingleResult();
assert d.getPermURL(".lace").equals("/3.lace");
assert d.getWikiURL().equals("/CCC");
d = (WikiDirectory)
em.createQuery("select d from WikiDirectory d where d.id = :id")
.setParameter("id", 4l)
.getSingleResult();
assert d.getPermURL(".lace").equals("/4.lace");
assert d.getWikiURL().equals("/CCC/DDD");
d = (WikiDirectory)
em.createQuery("select d from WikiDirectory d where d.id = :id")
.setParameter("id", 1l)
.getSingleResult();
assert d.getPermURL(".lace").equals("/1.lace");
assert d.getWikiURL().equals("/");
}
}.run();
}
@Test
public void commentURL() throws Exception {
new FacesRequest() {
protected void invokeApplication() throws Exception {
EntityManager em = (EntityManager) getInstance("restrictedEntityManager");
WikiComment c = (WikiComment)
em.createQuery("select c from WikiComment c where c.id = :id")
.setParameter("id", 10l)
.getSingleResult();
assert c.getPermURL(".lace").equals("/6.lace#comment10");
assert c.getWikiURL().equals("/CCC/One#comment10");
}
}.run();
}
@Test
public void uploadURL() throws Exception {
new FacesRequest() {
protected void invokeApplication() throws Exception {
EntityManager em = (EntityManager) getInstance("restrictedEntityManager");
WikiUpload u = (WikiUpload)
em.createQuery("select u from WikiUpload u where u.id = :id")
.setParameter("id", 30l)
.getSingleResult();
assert u.getPermURL(".lace").equals("/servlets/files/download.seam?fileId=30");
assert u.getWikiURL().equals("/servlets/files/download.seam?fileId=30");
}
}.run();
}
}
More information about the jboss-cvs-commits
mailing list