X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.slc.core%2Fsrc%2Ftest%2Fjava%2Forg%2Fargeo%2Fslc%2Fhibernate%2Ftest%2Ftree%2FTreeTestResultDaoHibernateTest.java;h=c1808da13fd4a43686b90b44ea5b8ff944a8e480;hb=4226558ccaf4d40b55d5d8492d0ef3476dfdf0c9;hp=b8d29881a0f28d4c5a73ff67e634388d20ebdc7a;hpb=b4121f6a1f27b519059c26919015cffe43a849e9;p=gpl%2Fargeo-slc.git diff --git a/org.argeo.slc.core/src/test/java/org/argeo/slc/hibernate/test/tree/TreeTestResultDaoHibernateTest.java b/org.argeo.slc.core/src/test/java/org/argeo/slc/hibernate/test/tree/TreeTestResultDaoHibernateTest.java index b8d29881a..c1808da13 100644 --- a/org.argeo.slc.core/src/test/java/org/argeo/slc/hibernate/test/tree/TreeTestResultDaoHibernateTest.java +++ b/org.argeo.slc.core/src/test/java/org/argeo/slc/hibernate/test/tree/TreeTestResultDaoHibernateTest.java @@ -1,12 +1,15 @@ package org.argeo.slc.hibernate.test.tree; import static org.argeo.slc.core.test.tree.TreeTestResultTestUtils.createCompleteTreeTestResult; +import static org.argeo.slc.core.test.tree.TreeTestResultTestUtils.createSimpleTreeTestResult; import java.util.Date; import org.argeo.slc.core.structure.SimpleSElement; import org.argeo.slc.core.structure.tree.TreeSPath; import org.argeo.slc.core.structure.tree.TreeSRegistry; +import org.argeo.slc.core.test.SimpleResultPart; +import org.argeo.slc.core.test.TestStatus; import org.argeo.slc.core.test.tree.TreeTestResult; import org.argeo.slc.core.test.tree.TreeTestResultTestUtils; import org.argeo.slc.dao.test.tree.TreeTestResultDao; @@ -14,38 +17,40 @@ import org.argeo.slc.unit.AbstractSpringTestCase; import org.argeo.slc.unit.test.tree.UnitTestTreeUtil; public class TreeTestResultDaoHibernateTest extends AbstractSpringTestCase { + private TreeTestResultDao testResultDao = null; + + @Override + public void setUp() { + testResultDao = (TreeTestResultDao) getContext().getBean( + "testResultDao"); + } public void testCreate() { - TreeTestResultDao testResultDao = (TreeTestResultDao) getContext() - .getBean("testResultDao"); TreeTestResult ttr = createCompleteTreeTestResult(); testResultDao.create(ttr); TreeTestResult ttrPersisted = (TreeTestResult) testResultDao - .getTestResult(ttr.getTestResultId()); - + .getTestResult(ttr.getUuid()); + UnitTestTreeUtil.assertTreeTestResult(ttr, ttrPersisted); } public void testUpdate() { - TreeTestResultDao testResultDao = (TreeTestResultDao) getContext() - .getBean("testResultDao"); - TreeTestResult ttr = createCompleteTreeTestResult(); testResultDao.create(ttr); TreeTestResult ttrUpdated = (TreeTestResult) testResultDao - .getTestResult(ttr.getTestResultId()); - + .getTestResult(ttr.getUuid()); + // Modifying ttrUpdated - - /** this closeDate update commented because - * the assertTreeTestResult will find a unexpected - * discrepancy in the date. - * ttrUpdated.setCloseDate(new Date()); + + /** + * this closeDate update commented because the assertTreeTestResult will + * find a unexpected discrepancy in the date. + * ttrUpdated.setCloseDate(new Date()); */ - + String pathStr = "/test"; TreeSPath path = TreeSPath.parseToCreatePath(pathStr); @@ -55,20 +60,57 @@ public class TreeTestResultDaoHibernateTest extends AbstractSpringTestCase { registry.register(path, elem); ttrUpdated.notifyCurrentPath(registry, path); - - ttrUpdated.addResultPart(TreeTestResultTestUtils.createSimpleResultPartPassed()); - ttrUpdated.addResultPart(TreeTestResultTestUtils.createSimpleResultPartFailed()); - ttrUpdated.addResultPart(TreeTestResultTestUtils.createSimpleResultPartError()); - + + ttrUpdated.addResultPart(TreeTestResultTestUtils + .createSimpleResultPartPassed()); + ttrUpdated.addResultPart(TreeTestResultTestUtils + .createSimpleResultPartFailed()); + ttrUpdated.addResultPart(TreeTestResultTestUtils + .createSimpleResultPartError()); + testResultDao.update(ttrUpdated); - + // comparison of ttrUpdated and ttrRetrieved TreeTestResult ttrRetrieved = (TreeTestResult) testResultDao - .getTestResult(ttr.getTestResultId()); - + .getTestResult(ttr.getUuid()); + UnitTestTreeUtil.assertTreeTestResult(ttrRetrieved, ttrUpdated); } - + + public void testMultipleUpdateScenario() throws Exception{ + TreeSRegistry registry = new TreeSRegistry(); + + TreeSPath path = new TreeSPath("/root/test"); + SimpleSElement elem = new SimpleSElement("Unit Test"); + elem.getTags().put("myTag", "myTagValue"); + registry.register(path, elem); + + TreeTestResult ttr = createSimpleTreeTestResult(); + ttr.notifyCurrentPath(registry, path); + ttr.addResultPart(new SimpleResultPart(TestStatus.PASSED,"First test")); + + testResultDao.create(ttr); + + path = new TreeSPath("/root/test2/subtest"); + elem = new SimpleSElement("Sub Test"); + elem.getTags().put("myTag", "myTagValue"); + registry.register(path, elem); + + ttr.notifyCurrentPath(registry, path); + ttr.addResultPart(new SimpleResultPart(TestStatus.PASSED,"Second test")); + + testResultDao.update(ttr); + + ttr.notifyCurrentPath(registry, path); + ttr.addResultPart(new SimpleResultPart(TestStatus.PASSED,"Third test with same path")); + + testResultDao.update(ttr); + + ttr.close(); + + testResultDao.close(ttr.getUuid(), ttr.getCloseDate()); + } + @Override protected String getApplicationContextLocation() { return "org/argeo/slc/hibernate/applicationContext.xml";