]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - runtime/org.argeo.slc.support.jcr/src/test/java/org/argeo/slc/jcr/dao/TreeTestResultDaoJcrTest.java
First draft of DAO implementation for JCR.
[gpl/argeo-slc.git] / runtime / org.argeo.slc.support.jcr / src / test / java / org / argeo / slc / jcr / dao / TreeTestResultDaoJcrTest.java
diff --git a/runtime/org.argeo.slc.support.jcr/src/test/java/org/argeo/slc/jcr/dao/TreeTestResultDaoJcrTest.java b/runtime/org.argeo.slc.support.jcr/src/test/java/org/argeo/slc/jcr/dao/TreeTestResultDaoJcrTest.java
new file mode 100644 (file)
index 0000000..07f798b
--- /dev/null
@@ -0,0 +1,112 @@
+package org.argeo.slc.jcr.dao;\r
+\r
+import java.util.Map;\r
+import java.util.TreeMap;\r
+import java.util.UUID;\r
+\r
+import org.apache.commons.logging.Log;\r
+import org.apache.commons.logging.LogFactory;\r
+import org.argeo.slc.core.attachment.SimpleAttachment;\r
+import org.argeo.slc.core.structure.tree.TreeSPath;\r
+import org.argeo.slc.core.test.SimpleResultPart;\r
+import org.argeo.slc.core.test.tree.TreeTestResult;\r
+import org.argeo.slc.dao.test.tree.TreeTestResultDao;\r
+import org.argeo.slc.unit.AbstractSpringTestCase;\r
+import org.argeo.slc.unit.test.tree.TreeTestResultTestUtils;\r
+import org.argeo.slc.unit.test.tree.UnitTestTreeUtil;\r
+\r
+public class TreeTestResultDaoJcrTest extends AbstractSpringTestCase {\r
+       private final static Log log = LogFactory\r
+                       .getLog(TreeTestResultDaoJcrTest.class);\r
+\r
+       private TreeTestResultDao ttrDao;\r
+\r
+       @Override\r
+       protected void setUp() throws Exception {\r
+               super.setUp();\r
+               ttrDao = getBean(TreeTestResultDao.class);\r
+               log.debug("Context Initialized");\r
+       }\r
+\r
+       @SuppressWarnings("restriction")\r
+       public void testCreate() {\r
+               TreeTestResult ttr = TreeTestResultTestUtils\r
+                               .createComplexeTreeTestResult();\r
+               ttrDao.create(ttr);\r
+               TreeTestResult ttrPersisted = ttrDao.getTestResult(ttr.getUuid());\r
+               compareTestResult(ttr, ttrPersisted);\r
+               UnitTestTreeUtil.assertTreeTestResult(ttr, ttrPersisted);\r
+       }\r
+\r
+       @SuppressWarnings("restriction")\r
+       public void testUpdate() {\r
+               TreeTestResult ttr = TreeTestResultTestUtils\r
+                               .createCompleteTreeTestResult();\r
+               ttrDao.create(ttr);\r
+               SimpleAttachment sa = new SimpleAttachment(\r
+                               UUID.randomUUID().toString(), "A new Attachment", "UTF8");\r
+               // test if we can attach a new doc\r
+               ttrDao.addAttachment(ttr.getUuid(), sa);\r
+\r
+               // test if an existing doc is not added 2 times.\r
+               TreeTestResult ttr2 = ttrDao.getTestResult(ttr.getUuid());\r
+               ttrDao.addAttachment(ttr.getUuid(), sa);\r
+               TreeTestResult ttr3 = ttrDao.getTestResult(ttr.getUuid());\r
+               assertEquals(ttr3.getAttachments().size(), ttr2.getAttachments().size());\r
+\r
+               // Test Add ResultPart\r
+               // Initializing context\r
+               SimpleResultPart resultPart = TreeTestResultTestUtils\r
+                               .createSimpleResultPartFailed();\r
+               TreeSPath path = new TreeSPath("/test1");\r
+               ttrDao.addResultPart(ttr.getUuid(), path, resultPart, null);\r
+\r
+               // TestAdd Attribute\r
+               Map<String, String> newAtt = new TreeMap<String, String>();\r
+               newAtt.put("NewTestCase", "NonSortedView");\r
+               newAtt.put("NewTestCaseType", "csvdiff");\r
+               ttrDao.updateAttributes(ttr.getUuid(), newAtt);\r
+\r
+               ttr2 = ttrDao.getTestResult(ttr.getUuid());\r
+               assertEquals(ttr.getAttributes().size() + 2, ttr2.getAttributes()\r
+                               .size());\r
+               assertEquals("csvdiff", ttr2.getAttributes().get("NewTestCaseType"));\r
+\r
+               // Test update existing Attribute\r
+               ttrDao.updateAttributes(ttr.getUuid(), newAtt);\r
+               assertEquals(ttr.getAttributes().size() + 2, ttr2.getAttributes()\r
+                               .size());\r
+\r
+       }\r
+       @SuppressWarnings("restriction")\r
+       public void testResultPartOnly() {\r
+               \r
+               TreeTestResult ttr = TreeTestResultTestUtils\r
+                               .createComplexeTreeTestResult();\r
+\r
+               SimpleResultPart resultPart = TreeTestResultTestUtils\r
+               .createSimpleResultPartPassed();\r
+               ttr.addResultPart(resultPart);\r
+               ttrDao.create(ttr);\r
+               TreeTestResult ttr2;\r
+               ttr2 = ttrDao.getTestResult(ttr.getUuid());\r
+               assertEquals(ttr.getResultParts().size(), ttr2.getResultParts()\r
+                               .size());\r
+       }\r
+\r
+       public static void compareTestResult(final TreeTestResult t1,\r
+                       final TreeTestResult t2) {\r
+\r
+               assertEquals(t1.getUuid(), t2.getUuid());\r
+               assertEquals(t1.getCloseDate(), t2.getCloseDate());\r
+               assertEquals(t1.getAttachments().size(), t2.getAttachments().size());\r
+               assertEquals(t1.getAttributes().size(), t2.getAttributes().size());\r
+               assertEquals(t1.getElements().size(), t2.getElements().size());\r
+               // resultParts \r
+               assertEquals(t1.getResultParts().size(), t2.getResultParts().size());\r
+               \r
+               \r
+               // TODO Add more check.\r
+       }\r
+\r
+}\r