package de.juwimm.cms.test.hibernate; import java.util.Collection; import junit.framework.Assert; import org.springframework.beans.factory.annotation.Autowired; import de.juwimm.cms.model.DocumentHbm; import de.juwimm.cms.model.DocumentHbmDao; import de.juwimm.cms.model.DocumentHbmImpl; import de.juwimm.cms.model.SiteHbm; import de.juwimm.cms.model.SiteHbmImpl; import de.juwimm.cms.model.UnitHbm; import de.juwimm.cms.model.UnitHbmImpl; /** * @author <a href="florin.zalum@juwimm.com">Florin Zalum</a> * @version $Id$ */ public class DocumentDaoTest extends HbmTestImpl { @Autowired DocumentHbmDao documentDao; public void initializeServiceBeans() { // I don't use it } public void init() { DocumentHbm documentInserted = new DocumentHbmImpl(); UnitHbm unit = new UnitHbmImpl(); SiteHbm site = new SiteHbmImpl(); site.setSiteId(1); site.setName("testSite"); insertSite(site); unit.setUnitId(1); unit.setName("testUnit"); unit.setSite(site); insertUnit(unit); documentInserted.setDocumentName("testDocument"); documentInserted.setMimeType("txt"); documentInserted.setDocumentId(1); documentInserted.setUnit(unit); documentInserted.setSearchable(true); insertDocument(documentInserted); } /** * Test Load */ public void testLoad() { init(); DocumentHbm document = documentDao.load(1); Assert.assertNotNull(document); Assert.assertEquals("testDocument", document.getDocumentName()); } /** * Test FindAll */ public void testFindAll() { init(); Collection documents = documentDao.findAll(1); Assert.assertNotNull(documents); Assert.assertEquals(1, documents.size()); } /** * Test ToXml * expect: from a document generate the xml */ public void testToXml() { init(); documentDao.setDocumentContent(1, new byte[] {0}); try { String result = documentDao.toXml(1, 0, true); String expectedResult = "<document id=\"1\" mimeType=\"txt\" unitId=\"1\" lastModified=\"01.01.1970\" searchable=\"true\">\n\t<file>AA==</file>\n\t<name><![CDATA[testDocument]]></name>\n\t<label><![CDATA[null]]></label>\n\t<description><![CDATA[null]]></description>\n\t<author><![CDATA[null]]></author>\n\t<category><![CDATA[null]]></category>\n</document>\n"; Assert.assertNotNull(result); Assert.assertEquals(expectedResult, result); } catch (Exception e) { Assert.assertTrue(false); } } /** * Test SetDocumentContent * expect: after setting the document content. The value retrieved * from the document content is the one set * no exception thrown */ public void testSetDocumentContent() { init(); try { documentDao.setDocumentContent(1, new byte[] {1}); byte[] expectedResult = documentDao.getDocumentContent(1); Assert.assertNotNull(expectedResult); Assert.assertEquals(1, expectedResult[0]); } catch (Exception e) { Assert.assertTrue(false); } } /** * Test CloneDocument * expect: create a new DocumentHbm with the same values for the properties * */ public void testCloneDocument() { init(); documentDao.setDocumentContent(1, new byte[] {1}); UnitHbm newUnit = new UnitHbmImpl(); newUnit.setUnitId(1); try { Integer result = documentDao.cloneDocument(1, newUnit); Assert.assertNotNull(result); DocumentHbm oldDocument = documentDao.load(1); DocumentHbm document = documentDao.load(result); Assert.assertEquals(document.getDocumentName(), oldDocument.getDocumentName()); Assert.assertEquals(document.getMimeType(), oldDocument.getMimeType()); Assert.assertEquals(document.getUnit().getUnitId(), newUnit.getUnitId()); } catch (Exception e) { Assert.assertTrue(false); } } }