/*
* 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.mock.DBUnitSeamTest;
import org.jboss.seam.wiki.core.model.WikiComment;
import org.jboss.seam.wiki.core.model.WikiDirectory;
import org.jboss.seam.wiki.core.model.WikiDocument;
import org.jboss.seam.wiki.core.model.WikiUpload;
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("service/File/30");
assert u.getWikiURL().equals("service/File/30");
}
}.run();
}
}