]> git.argeo.org Git - gpl/argeo-slc.git/blob - TreeTestResultDaoHibernateTest.java
c1808da13fd4a43686b90b44ea5b8ff944a8e480
[gpl/argeo-slc.git] / TreeTestResultDaoHibernateTest.java
1 package org.argeo.slc.hibernate.test.tree;
2
3 import static org.argeo.slc.core.test.tree.TreeTestResultTestUtils.createCompleteTreeTestResult;
4 import static org.argeo.slc.core.test.tree.TreeTestResultTestUtils.createSimpleTreeTestResult;
5
6 import java.util.Date;
7
8 import org.argeo.slc.core.structure.SimpleSElement;
9 import org.argeo.slc.core.structure.tree.TreeSPath;
10 import org.argeo.slc.core.structure.tree.TreeSRegistry;
11 import org.argeo.slc.core.test.SimpleResultPart;
12 import org.argeo.slc.core.test.TestStatus;
13 import org.argeo.slc.core.test.tree.TreeTestResult;
14 import org.argeo.slc.core.test.tree.TreeTestResultTestUtils;
15 import org.argeo.slc.dao.test.tree.TreeTestResultDao;
16 import org.argeo.slc.unit.AbstractSpringTestCase;
17 import org.argeo.slc.unit.test.tree.UnitTestTreeUtil;
18
19 public class TreeTestResultDaoHibernateTest extends AbstractSpringTestCase {
20 private TreeTestResultDao testResultDao = null;
21
22 @Override
23 public void setUp() {
24 testResultDao = (TreeTestResultDao) getContext().getBean(
25 "testResultDao");
26 }
27
28 public void testCreate() {
29
30 TreeTestResult ttr = createCompleteTreeTestResult();
31 testResultDao.create(ttr);
32
33 TreeTestResult ttrPersisted = (TreeTestResult) testResultDao
34 .getTestResult(ttr.getUuid());
35
36 UnitTestTreeUtil.assertTreeTestResult(ttr, ttrPersisted);
37 }
38
39 public void testUpdate() {
40 TreeTestResult ttr = createCompleteTreeTestResult();
41 testResultDao.create(ttr);
42
43 TreeTestResult ttrUpdated = (TreeTestResult) testResultDao
44 .getTestResult(ttr.getUuid());
45
46 // Modifying ttrUpdated
47
48 /**
49 * this closeDate update commented because the assertTreeTestResult will
50 * find a unexpected discrepancy in the date.
51 * ttrUpdated.setCloseDate(new Date());
52 */
53
54 String pathStr = "/test";
55 TreeSPath path = TreeSPath.parseToCreatePath(pathStr);
56
57 TreeSRegistry registry = new TreeSRegistry();
58 SimpleSElement elem = new SimpleSElement("Unit Test");
59 elem.getTags().put("myTag", "myTagValue");
60 registry.register(path, elem);
61
62 ttrUpdated.notifyCurrentPath(registry, path);
63
64 ttrUpdated.addResultPart(TreeTestResultTestUtils
65 .createSimpleResultPartPassed());
66 ttrUpdated.addResultPart(TreeTestResultTestUtils
67 .createSimpleResultPartFailed());
68 ttrUpdated.addResultPart(TreeTestResultTestUtils
69 .createSimpleResultPartError());
70
71 testResultDao.update(ttrUpdated);
72
73 // comparison of ttrUpdated and ttrRetrieved
74 TreeTestResult ttrRetrieved = (TreeTestResult) testResultDao
75 .getTestResult(ttr.getUuid());
76
77 UnitTestTreeUtil.assertTreeTestResult(ttrRetrieved, ttrUpdated);
78 }
79
80 public void testMultipleUpdateScenario() throws Exception{
81 TreeSRegistry registry = new TreeSRegistry();
82
83 TreeSPath path = new TreeSPath("/root/test");
84 SimpleSElement elem = new SimpleSElement("Unit Test");
85 elem.getTags().put("myTag", "myTagValue");
86 registry.register(path, elem);
87
88 TreeTestResult ttr = createSimpleTreeTestResult();
89 ttr.notifyCurrentPath(registry, path);
90 ttr.addResultPart(new SimpleResultPart(TestStatus.PASSED,"First test"));
91
92 testResultDao.create(ttr);
93
94 path = new TreeSPath("/root/test2/subtest");
95 elem = new SimpleSElement("Sub Test");
96 elem.getTags().put("myTag", "myTagValue");
97 registry.register(path, elem);
98
99 ttr.notifyCurrentPath(registry, path);
100 ttr.addResultPart(new SimpleResultPart(TestStatus.PASSED,"Second test"));
101
102 testResultDao.update(ttr);
103
104 ttr.notifyCurrentPath(registry, path);
105 ttr.addResultPart(new SimpleResultPart(TestStatus.PASSED,"Third test with same path"));
106
107 testResultDao.update(ttr);
108
109 ttr.close();
110
111 testResultDao.close(ttr.getUuid(), ttr.getCloseDate());
112 }
113
114 @Override
115 protected String getApplicationContextLocation() {
116 return "org/argeo/slc/hibernate/applicationContext.xml";
117 }
118
119 }