package org.argeo.slc.hibernate.test.tree;\r
\r
+import static org.argeo.slc.core.test.tree.TreeTestResultTestUtils.createCompleteTreeTestResult;\r
+\r
import java.util.Date;\r
-import java.util.List;\r
\r
+import org.argeo.slc.core.structure.SimpleSElement;\r
import org.argeo.slc.core.structure.tree.TreeSPath;\r
-import org.argeo.slc.core.test.NumericTRId;\r
-import org.argeo.slc.core.test.SimpleResultPart;\r
-import org.argeo.slc.core.test.TestStatus;\r
-import org.argeo.slc.core.test.tree.PartSubList;\r
+import org.argeo.slc.core.structure.tree.TreeSRegistry;\r
import org.argeo.slc.core.test.tree.TreeTestResult;\r
-import org.argeo.slc.dao.structure.tree.TreeSPathDao;\r
-import org.argeo.slc.dao.test.TestResultDao;\r
+import org.argeo.slc.core.test.tree.TreeTestResultTestUtils;\r
import org.argeo.slc.dao.test.tree.TreeTestResultDao;\r
import org.argeo.slc.unit.AbstractSpringTestCase;\r
+import org.argeo.slc.unit.test.tree.UnitTestTreeUtil;\r
\r
public class TreeTestResultDaoHibernateTest extends AbstractSpringTestCase {\r
\r
public void testCreate() {\r
- TreeSPathDao treeSPathDao = (TreeSPathDao) getContext().getBean(\r
- "treeSPathDao");\r
-\r
- TreeTestResultDao testResultDao = (TreeTestResultDao) getContext().getBean(\r
- "testResultDao");\r
-\r
- String pathParentStr = "/root/testParent";\r
- String pathStr = pathParentStr + "/test";\r
- TreeSPath path = TreeSPath.parseToCreatePath(pathStr);\r
- treeSPathDao.create(path);\r
+ TreeTestResultDao testResultDao = (TreeTestResultDao) getContext()\r
+ .getBean("testResultDao");\r
\r
- TreeTestResult treeTestResult = new TreeTestResult();\r
- SimpleResultPart partPassed = new SimpleResultPart();\r
- String msgPassed = "message";\r
- partPassed.setStatus(TestStatus.PASSED);\r
- partPassed.setMessage(msgPassed);\r
+ TreeTestResult ttr = createCompleteTreeTestResult();\r
+ testResultDao.create(ttr);\r
\r
- SimpleResultPart partFailed = new SimpleResultPart();\r
- String msgFailed = "too bad";\r
- partFailed.setStatus(TestStatus.FAILED);\r
- partFailed.setMessage(msgFailed);\r
-\r
- NumericTRId trId = new NumericTRId();\r
- trId.setValue(1l);\r
- treeTestResult.setNumericResultId(trId);\r
- treeTestResult.notifyCurrentPath(null, path);\r
- treeTestResult.addResultPart(partPassed);\r
- treeTestResult.addResultPart(partFailed);\r
-\r
- Date closeDate = new Date();\r
- treeTestResult.setCloseDate(closeDate);\r
+ TreeTestResult ttrPersisted = (TreeTestResult) testResultDao\r
+ .getTestResult(ttr.getUuid());\r
+ \r
+ UnitTestTreeUtil.assertTreeTestResult(ttr, ttrPersisted);\r
+ }\r
\r
- testResultDao.create(treeTestResult);\r
+ public void testUpdate() {\r
+ TreeTestResultDao testResultDao = (TreeTestResultDao) getContext()\r
+ .getBean("testResultDao");\r
\r
- TreeTestResult treeTestResult2 = (TreeTestResult) testResultDao\r
- .getTestResult(trId);\r
- PartSubList list = treeTestResult2.getResultParts().get(path);\r
+ TreeTestResult ttr = createCompleteTreeTestResult();\r
+ testResultDao.create(ttr);\r
\r
- assertEquals(2, list.getParts().size());\r
- SimpleResultPart part0 = (SimpleResultPart) list.getParts().get(0);\r
- assertEquals(TestStatus.PASSED, part0.getStatus());\r
- assertEquals(msgPassed, part0.getMessage());\r
+ TreeTestResult ttrUpdated = (TreeTestResult) testResultDao\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
+ String pathStr = "/test";\r
+ TreeSPath path = TreeSPath.parseToCreatePath(pathStr);\r
\r
- SimpleResultPart part1 = (SimpleResultPart) list.getParts().get(1);\r
- assertEquals(TestStatus.FAILED, part1.getStatus());\r
- assertEquals(msgFailed, part1.getMessage());\r
+ TreeSRegistry registry = new TreeSRegistry();\r
+ SimpleSElement elem = new SimpleSElement("Unit Test");\r
+ elem.getTags().put("myTag", "myTagValue");\r
+ registry.register(path, elem);\r
\r
- assertEquals(closeDate, treeTestResult2.getCloseDate());\r
+ ttrUpdated.notifyCurrentPath(registry, path);\r
\r
- List<TreeTestResult> results = testResultDao.listResults(path);\r
- assertEquals(1, results.size());\r
- assertEquals(trId, results.get(0).getTestResultId());\r
+ ttrUpdated.addResultPart(TreeTestResultTestUtils.createSimpleResultPartPassed());\r
+ ttrUpdated.addResultPart(TreeTestResultTestUtils.createSimpleResultPartFailed());\r
+ ttrUpdated.addResultPart(TreeTestResultTestUtils.createSimpleResultPartError());\r
\r
+ testResultDao.update(ttrUpdated);\r
+ \r
+ // comparison of ttrUpdated and ttrRetrieved\r
+ TreeTestResult ttrRetrieved = (TreeTestResult) testResultDao\r
+ .getTestResult(ttr.getUuid());\r
+ \r
+ UnitTestTreeUtil.assertTreeTestResult(ttrRetrieved, ttrUpdated);\r
}\r
-\r
+ \r
@Override\r
protected String getApplicationContextLocation() {\r
return "org/argeo/slc/hibernate/applicationContext.xml";\r