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=e705b3804cd22f56dec2ca69db3de83a53ab010a;hp=86ae6bbea8c7365706c5d53bb95f1ab058bba920;hpb=0cd0dce2cab2e88968077391675c2292e66990e8;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 86ae6bbea..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,75 +1,114 @@ 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 java.util.List; +import org.argeo.slc.core.structure.SimpleSElement; import org.argeo.slc.core.structure.tree.TreeSPath; -import org.argeo.slc.core.test.NumericTRId; +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.PartSubList; import org.argeo.slc.core.test.tree.TreeTestResult; -import org.argeo.slc.dao.structure.tree.TreeSPathDao; -import org.argeo.slc.dao.test.TestResultDao; +import org.argeo.slc.core.test.tree.TreeTestResultTestUtils; import org.argeo.slc.dao.test.tree.TreeTestResultDao; 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() { - TreeSPathDao treeSPathDao = (TreeSPathDao) getContext().getBean( - "treeSPathDao"); - TreeTestResultDao testResultDao = (TreeTestResultDao) getContext().getBean( - "testResultDao"); + TreeTestResult ttr = createCompleteTreeTestResult(); + testResultDao.create(ttr); - String pathParentStr = "/root/testParent"; - String pathStr = pathParentStr + "/test"; - TreeSPath path = TreeSPath.parseToCreatePath(pathStr); - treeSPathDao.create(path); + TreeTestResult ttrPersisted = (TreeTestResult) testResultDao + .getTestResult(ttr.getUuid()); + + UnitTestTreeUtil.assertTreeTestResult(ttr, ttrPersisted); + } + + public void testUpdate() { + TreeTestResult ttr = createCompleteTreeTestResult(); + testResultDao.create(ttr); + + TreeTestResult ttrUpdated = (TreeTestResult) testResultDao + .getTestResult(ttr.getUuid()); - TreeTestResult treeTestResult = new TreeTestResult(); - SimpleResultPart partPassed = new SimpleResultPart(); - String msgPassed = "message"; - partPassed.setStatus(TestStatus.PASSED); - partPassed.setMessage(msgPassed); + // Modifying ttrUpdated - SimpleResultPart partFailed = new SimpleResultPart(); - String msgFailed = "too bad"; - partFailed.setStatus(TestStatus.FAILED); - partFailed.setMessage(msgFailed); + /** + * this closeDate update commented because the assertTreeTestResult will + * find a unexpected discrepancy in the date. + * ttrUpdated.setCloseDate(new Date()); + */ - NumericTRId trId = new NumericTRId(); - trId.setValue(1l); - treeTestResult.setNumericResultId(trId); - treeTestResult.notifyCurrentPath(null, path); - treeTestResult.addResultPart(partPassed); - treeTestResult.addResultPart(partFailed); + String pathStr = "/test"; + TreeSPath path = TreeSPath.parseToCreatePath(pathStr); + + TreeSRegistry registry = new TreeSRegistry(); + SimpleSElement elem = new SimpleSElement("Unit Test"); + elem.getTags().put("myTag", "myTagValue"); + registry.register(path, elem); + + ttrUpdated.notifyCurrentPath(registry, path); - Date closeDate = new Date(); - treeTestResult.setCloseDate(closeDate); + ttrUpdated.addResultPart(TreeTestResultTestUtils + .createSimpleResultPartPassed()); + ttrUpdated.addResultPart(TreeTestResultTestUtils + .createSimpleResultPartFailed()); + ttrUpdated.addResultPart(TreeTestResultTestUtils + .createSimpleResultPartError()); - testResultDao.create(treeTestResult); + testResultDao.update(ttrUpdated); - TreeTestResult treeTestResult2 = (TreeTestResult) testResultDao - .getTestResult(trId); - PartSubList list = treeTestResult2.getResultParts().get(path); + // comparison of ttrUpdated and ttrRetrieved + TreeTestResult ttrRetrieved = (TreeTestResult) testResultDao + .getTestResult(ttr.getUuid()); - assertEquals(2, list.getParts().size()); - SimpleResultPart part0 = (SimpleResultPart) list.getParts().get(0); - assertEquals(TestStatus.PASSED, part0.getStatus()); - assertEquals(msgPassed, part0.getMessage()); + UnitTestTreeUtil.assertTreeTestResult(ttrRetrieved, ttrUpdated); + } - SimpleResultPart part1 = (SimpleResultPart) list.getParts().get(1); - assertEquals(TestStatus.FAILED, part1.getStatus()); - assertEquals(msgFailed, part1.getMessage()); + public void testMultipleUpdateScenario() throws Exception{ + TreeSRegistry registry = new TreeSRegistry(); - assertEquals(closeDate, treeTestResult2.getCloseDate()); + 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); - List results = testResultDao.listResults(path); - assertEquals(1, results.size()); - assertEquals(trId, results.get(0).getTestResultId()); + ttr.close(); + testResultDao.close(ttr.getUuid(), ttr.getCloseDate()); } @Override