]> git.argeo.org Git - gpl/argeo-slc.git/blob - org.argeo.slc.hibernate/src/test/java/org/argeo/slc/hibernate/test/tree/TreeTestResultCollectionDaoHibernateTest.java
Introduce Hibernate lazy loading for SlcExecution and TestResultCollections
[gpl/argeo-slc.git] / org.argeo.slc.hibernate / src / test / java / org / argeo / slc / hibernate / test / tree / TreeTestResultCollectionDaoHibernateTest.java
1 package org.argeo.slc.hibernate.test.tree;
2
3 import java.sql.SQLException;
4
5 import org.argeo.slc.core.test.tree.TreeTestResult;
6 import org.argeo.slc.core.test.tree.TreeTestResultCollection;
7 import org.argeo.slc.dao.test.tree.TreeTestResultCollectionDao;
8 import org.argeo.slc.dao.test.tree.TreeTestResultDao;
9 import org.argeo.slc.hibernate.unit.HibernateTestCase;
10 import org.argeo.slc.unit.test.tree.TreeTestResultTestUtils;
11 import org.argeo.slc.unit.test.tree.UnitTestTreeUtil;
12 import org.hibernate.HibernateException;
13 import org.hibernate.Session;
14 import org.springframework.orm.hibernate3.HibernateCallback;
15
16 public class TreeTestResultCollectionDaoHibernateTest extends HibernateTestCase {
17
18 public void testScenario() {
19 TreeTestResultDao ttrDao = getBean(TreeTestResultDao.class);
20 TreeTestResultCollectionDao ttrcDao = getBean(TreeTestResultCollectionDao.class);
21
22 String ttrcName = "testCollection";
23
24 TreeTestResult ttr1 = TreeTestResultTestUtils
25 .createCompleteTreeTestResult();
26 ttrDao.create(ttr1);
27
28 TreeTestResultCollection ttrc = new TreeTestResultCollection(ttrcName);
29 ttrcDao.create(ttrc);
30
31 ttrc.getResults().add(ttr1);
32 ttrcDao.update(ttrc);
33
34 final TreeTestResult ttr2 = TreeTestResultTestUtils
35 .createCompleteTreeTestResult();
36 ttrDao.create(ttr2);
37
38 ttrc.getResults().add(ttr2);
39 ttrcDao.update(ttrc);
40
41 ttrc.getResults().remove(ttr1);
42 ttrcDao.update(ttrc);
43
44 final TreeTestResultCollection ttrcPersist = ttrcDao
45 .getTestResultCollection(ttrcName);
46
47 getHibernateTemplate().execute(new HibernateCallback() {
48
49 public Object doInHibernate(Session session)
50 throws HibernateException, SQLException {
51 session.refresh(ttrcPersist);
52 assertEquals(1, ttrcPersist.getResults().size());
53 UnitTestTreeUtil.assertTreeTestResult(ttr2, ttrcPersist
54 .getResults().iterator().next());
55 return null;
56 }
57 });
58 }
59
60 @Override
61 protected String getApplicationContextLocation() {
62 return "org/argeo/slc/hibernate/applicationContext.xml";
63 }
64
65 }