]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - org.argeo.slc.core/src/test/java/org/argeo/slc/hibernate/test/tree/TreeTestResultDaoHibernateTest.java
Create separate Hibernate project
[gpl/argeo-slc.git] / org.argeo.slc.core / src / test / java / org / argeo / slc / hibernate / test / tree / TreeTestResultDaoHibernateTest.java
index b8d29881a0f28d4c5a73ff67e634388d20ebdc7a..c1808da13fd4a43686b90b44ea5b8ff944a8e480 100644 (file)
@@ -1,12 +1,15 @@
 package org.argeo.slc.hibernate.test.tree;\r
 \r
 import static org.argeo.slc.core.test.tree.TreeTestResultTestUtils.createCompleteTreeTestResult;\r
+import static org.argeo.slc.core.test.tree.TreeTestResultTestUtils.createSimpleTreeTestResult;\r
 \r
 import java.util.Date;\r
 \r
 import org.argeo.slc.core.structure.SimpleSElement;\r
 import org.argeo.slc.core.structure.tree.TreeSPath;\r
 import org.argeo.slc.core.structure.tree.TreeSRegistry;\r
+import org.argeo.slc.core.test.SimpleResultPart;\r
+import org.argeo.slc.core.test.TestStatus;\r
 import org.argeo.slc.core.test.tree.TreeTestResult;\r
 import org.argeo.slc.core.test.tree.TreeTestResultTestUtils;\r
 import org.argeo.slc.dao.test.tree.TreeTestResultDao;\r
@@ -14,38 +17,40 @@ import org.argeo.slc.unit.AbstractSpringTestCase;
 import org.argeo.slc.unit.test.tree.UnitTestTreeUtil;\r
 \r
 public class TreeTestResultDaoHibernateTest extends AbstractSpringTestCase {\r
+       private TreeTestResultDao testResultDao = null;\r
+\r
+       @Override\r
+       public void setUp() {\r
+               testResultDao = (TreeTestResultDao) getContext().getBean(\r
+                               "testResultDao");\r
+       }\r
 \r
        public void testCreate() {\r
-               TreeTestResultDao testResultDao = (TreeTestResultDao) getContext()\r
-                               .getBean("testResultDao");\r
 \r
                TreeTestResult ttr = createCompleteTreeTestResult();\r
                testResultDao.create(ttr);\r
 \r
                TreeTestResult ttrPersisted = (TreeTestResult) testResultDao\r
-                               .getTestResult(ttr.getTestResultId());\r
-               \r
+                               .getTestResult(ttr.getUuid());\r
+\r
                UnitTestTreeUtil.assertTreeTestResult(ttr, ttrPersisted);\r
        }\r
 \r
        public void testUpdate() {\r
-               TreeTestResultDao testResultDao = (TreeTestResultDao) getContext()\r
-                               .getBean("testResultDao");\r
-\r
                TreeTestResult ttr = createCompleteTreeTestResult();\r
                testResultDao.create(ttr);\r
 \r
                TreeTestResult ttrUpdated = (TreeTestResult) testResultDao\r
-                               .getTestResult(ttr.getTestResultId());\r
-               \r
+                               .getTestResult(ttr.getUuid());\r
+\r
                // Modifying ttrUpdated\r
-               \r
-               /** this closeDate update commented because \r
-                * the assertTreeTestResult will find a unexpected \r
-                * discrepancy in the date.\r
-                * ttrUpdated.setCloseDate(new Date()); \r
+\r
+               /**\r
+                * this closeDate update commented because the assertTreeTestResult will\r
+                * find a unexpected discrepancy in the date.\r
+                * ttrUpdated.setCloseDate(new Date());\r
                 */\r
-               \r
+\r
                String pathStr = "/test";\r
                TreeSPath path = TreeSPath.parseToCreatePath(pathStr);\r
 \r
@@ -55,20 +60,57 @@ public class TreeTestResultDaoHibernateTest extends AbstractSpringTestCase {
                registry.register(path, elem);\r
 \r
                ttrUpdated.notifyCurrentPath(registry, path);\r
-               \r
-               ttrUpdated.addResultPart(TreeTestResultTestUtils.createSimpleResultPartPassed());\r
-               ttrUpdated.addResultPart(TreeTestResultTestUtils.createSimpleResultPartFailed());\r
-               ttrUpdated.addResultPart(TreeTestResultTestUtils.createSimpleResultPartError());\r
-               \r
+\r
+               ttrUpdated.addResultPart(TreeTestResultTestUtils\r
+                               .createSimpleResultPartPassed());\r
+               ttrUpdated.addResultPart(TreeTestResultTestUtils\r
+                               .createSimpleResultPartFailed());\r
+               ttrUpdated.addResultPart(TreeTestResultTestUtils\r
+                               .createSimpleResultPartError());\r
+\r
                testResultDao.update(ttrUpdated);\r
-               \r
+\r
                // comparison of ttrUpdated and ttrRetrieved\r
                TreeTestResult ttrRetrieved = (TreeTestResult) testResultDao\r
-               .getTestResult(ttr.getTestResultId());\r
-               \r
+                               .getTestResult(ttr.getUuid());\r
+\r
                UnitTestTreeUtil.assertTreeTestResult(ttrRetrieved, ttrUpdated);\r
        }\r
-       \r
+\r
+       public void testMultipleUpdateScenario() throws Exception{\r
+               TreeSRegistry registry = new TreeSRegistry();\r
+\r
+               TreeSPath path = new TreeSPath("/root/test");\r
+               SimpleSElement elem = new SimpleSElement("Unit Test");\r
+               elem.getTags().put("myTag", "myTagValue");\r
+               registry.register(path, elem);\r
+               \r
+               TreeTestResult ttr = createSimpleTreeTestResult();\r
+               ttr.notifyCurrentPath(registry, path);\r
+               ttr.addResultPart(new SimpleResultPart(TestStatus.PASSED,"First test"));\r
+               \r
+               testResultDao.create(ttr);\r
+               \r
+               path = new TreeSPath("/root/test2/subtest");\r
+               elem = new SimpleSElement("Sub Test");\r
+               elem.getTags().put("myTag", "myTagValue");\r
+               registry.register(path, elem);\r
+               \r
+               ttr.notifyCurrentPath(registry, path);\r
+               ttr.addResultPart(new SimpleResultPart(TestStatus.PASSED,"Second test"));\r
+               \r
+               testResultDao.update(ttr);\r
+               \r
+               ttr.notifyCurrentPath(registry, path);\r
+               ttr.addResultPart(new SimpleResultPart(TestStatus.PASSED,"Third test with same path"));\r
+               \r
+               testResultDao.update(ttr);\r
+               \r
+               ttr.close();\r
+               \r
+               testResultDao.close(ttr.getUuid(), ttr.getCloseDate());\r
+       }\r
+\r
        @Override\r
        protected String getApplicationContextLocation() {\r
                return "org/argeo/slc/hibernate/applicationContext.xml";\r