package org.appfuse.persistence;
import org.apache.commons.logging.LogFactory;
import org.appfuse.model.Template;
public class TemplateDAOTest extends BaseDAOTestCase {
private Template template = null;
private TemplateDAO dao = null;
protected void setUp() throws Exception {
log = LogFactory.getLog(TemplateDAOTest.class);
dao = (TemplateDAO) ctx.getBean("templateDAO");
}
protected void tearDown() throws Exception {
dao = null;
}
public void testGetTemplateInvalid() throws Exception {
try {
template = dao.getTemplate(new Long(1000));
fail("template '1000' found in database, failing test...");
} catch (DAOException d) {
if (log.isDebugEnabled()) {
log.debug(d);
}
assertTrue(d != null);
}
}
public void testGetTemplate() throws Exception {
template = dao.getTemplate(new Long(1));
assertTrue(template != null);
}
public void testSaveTemplate() throws Exception {
template = dao.getTemplate(new Long(1));
template.setName("My Cool Template");
dao.saveTemplate(template);
assertEquals(template.getName(), "My Cool Template");
}
public void testAddAndRemoveTemplate() throws Exception {
template = new Template();
template.setName("Test Template");
template.setContent("Velocity $syntax here");
dao.saveTemplate(template);
assertTrue(template.getId() != null);
assertTrue(template.getName() != null);
dao.removeTemplate(template);
try {
template = dao.getTemplate(template.getId());
fail("Expected 'ObjectNotFoundException' not thrown");
} catch (DAOException d) {
if (log.isDebugEnabled()) {
log.debug(d);
}
assertTrue("Record not found exception thrown", d != null);
}
}
public static void main(String[] args) {
junit.textui.TestRunner.run(TemplateDAOTest.class);
}
}