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=24e4d823c852f18f8abad05e942c8a019bd6b741;hpb=4be456f18c71bf293632d365d790a2ef32728157;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 24e4d823c..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,89 +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.process.SlcExecution; -import org.argeo.slc.core.process.SlcExecutionStep; -import org.argeo.slc.core.process.SlcExecutionTestUtils; +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); - // SLC Execution - SlcExecution slcExecution = SlcExecutionTestUtils - .createSimpleSlcExecution(); - SlcExecutionStep step = new SlcExecutionStep("LOG", "JUnit step"); - slcExecution.getSteps().add(step); + TreeTestResult ttrPersisted = (TreeTestResult) testResultDao + .getTestResult(ttr.getUuid()); - String pathParentStr = "/root/testParent"; - String pathStr = pathParentStr + "/test"; - TreeSPath path = TreeSPath.parseToCreatePath(pathStr); - treeSPathDao.create(path); + UnitTestTreeUtil.assertTreeTestResult(ttr, ttrPersisted); + } - TreeTestResult treeTestResult = new TreeTestResult(); - treeTestResult.notifySlcExecution(slcExecution); - SimpleResultPart partPassed = new SimpleResultPart(); - String msgPassed = "message"; - partPassed.setStatus(TestStatus.PASSED); - partPassed.setMessage(msgPassed); + public void testUpdate() { + TreeTestResult ttr = createCompleteTreeTestResult(); + testResultDao.create(ttr); - SimpleResultPart partFailed = new SimpleResultPart(); - String msgFailed = "too bad"; - partFailed.setStatus(TestStatus.FAILED); - partFailed.setMessage(msgFailed); + TreeTestResult ttrUpdated = (TreeTestResult) testResultDao + .getTestResult(ttr.getUuid()); - NumericTRId trId = new NumericTRId(); - trId.setValue(1l); - treeTestResult.setNumericResultId(trId); - treeTestResult.notifyCurrentPath(null, path); - treeTestResult.addResultPart(partPassed); - treeTestResult.addResultPart(partFailed); + // Modifying ttrUpdated - Date closeDate = new Date(); - treeTestResult.setCloseDate(closeDate); + /** + * this closeDate update commented because the assertTreeTestResult will + * find a unexpected discrepancy in the date. + * ttrUpdated.setCloseDate(new Date()); + */ - testResultDao.create(treeTestResult); + String pathStr = "/test"; + TreeSPath path = TreeSPath.parseToCreatePath(pathStr); - TreeTestResult ttrPersisted = (TreeTestResult) testResultDao - .getTestResult(trId); - PartSubList slPersisted = ttrPersisted.getResultParts().get(path); - assertEquals(slcExecution.getUuid(), slPersisted.getSlcExecutionUuid()); - assertEquals(step.getUuid(), slPersisted.getSlcExecutionStepUuid()); + TreeSRegistry registry = new TreeSRegistry(); + SimpleSElement elem = new SimpleSElement("Unit Test"); + elem.getTags().put("myTag", "myTagValue"); + registry.register(path, elem); - assertEquals(2, slPersisted.getParts().size()); - SimpleResultPart part0 = (SimpleResultPart) slPersisted.getParts().get( - 0); - assertEquals(TestStatus.PASSED, part0.getStatus()); - assertEquals(msgPassed, part0.getMessage()); + ttrUpdated.notifyCurrentPath(registry, path); - SimpleResultPart part1 = (SimpleResultPart) slPersisted.getParts().get( - 1); - assertEquals(TestStatus.FAILED, part1.getStatus()); - assertEquals(msgFailed, part1.getMessage()); + ttrUpdated.addResultPart(TreeTestResultTestUtils + .createSimpleResultPartPassed()); + ttrUpdated.addResultPart(TreeTestResultTestUtils + .createSimpleResultPartFailed()); + ttrUpdated.addResultPart(TreeTestResultTestUtils + .createSimpleResultPartError()); - assertEquals(closeDate, ttrPersisted.getCloseDate()); + testResultDao.update(ttrUpdated); - List results = testResultDao.listResults(path); - assertEquals(1, results.size()); - assertEquals(trId, results.get(0).getTestResultId()); + // comparison of ttrUpdated and ttrRetrieved + TreeTestResult ttrRetrieved = (TreeTestResult) testResultDao + .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