]> git.argeo.org Git - gpl/argeo-slc.git/blob - org.argeo.slc.hibernate/src/test/java/org/argeo/slc/hibernate/process/SlcExecutionHibernateTest.java
Introduce Hibernate lazy loading
[gpl/argeo-slc.git] / org.argeo.slc.hibernate / src / test / java / org / argeo / slc / hibernate / process / SlcExecutionHibernateTest.java
1 package org.argeo.slc.hibernate.process;
2
3 import java.util.List;
4
5 import org.argeo.slc.core.process.SlcExecution;
6 import org.argeo.slc.core.process.SlcExecutionStep;
7 import org.argeo.slc.dao.process.SlcExecutionDao;
8 import org.argeo.slc.unit.AbstractSpringTestCase;
9 import org.argeo.slc.unit.process.SlcExecutionTestUtils;
10
11 public class SlcExecutionHibernateTest extends AbstractSpringTestCase {
12
13 public void testSave() {
14 SlcExecutionDao dao = getBean(SlcExecutionDao.class);
15
16 SlcExecution slcExec = SlcExecutionTestUtils.createSimpleSlcExecution();
17 slcExec.getSteps().add(new SlcExecutionStep("LOG", "A log line"));
18 slcExec.getSteps().add(new SlcExecutionStep("LOG", "Two log\nlines"));
19
20 dao.create(slcExec);
21
22 SlcExecution slcExecPersisted = dao.getSlcExecution(slcExec.getUuid());
23 SlcExecutionTestUtils.assertSlcExecution(slcExec, slcExecPersisted);
24 assertEquals(2, slcExecPersisted.getSteps().size());
25 SlcExecutionTestUtils.assertSlcExecutionStep(slcExec.getSteps().get(0),
26 slcExecPersisted.getSteps().get(0));
27 SlcExecutionTestUtils.assertSlcExecutionStep(slcExec.getSteps().get(1),
28 slcExecPersisted.getSteps().get(1));
29 }
30
31 public void testModify() {
32 SlcExecutionDao dao = getBean(SlcExecutionDao.class);
33
34 // slcExecution Creation
35 SlcExecution slcExec = SlcExecutionTestUtils.createSimpleSlcExecution();
36 slcExec.getSteps().add(new SlcExecutionStep("LOG", "A log line"));
37 slcExec.getSteps().add(new SlcExecutionStep("LOG", "Two log\nlines"));
38
39 dao.create(slcExec);
40
41 // slcExecution retrieval and update
42 SlcExecution slcExecRetrieved = dao.getSlcExecution(slcExec.getUuid());
43
44 List<String> logLineListStep0 = slcExecRetrieved.getSteps().get(0)
45 .getLogLines();
46 for (String logLine : logLineListStep0)
47 logLine = logLine + "appended Log text";
48
49 slcExecRetrieved.getSteps().get(0).setLogLines(logLineListStep0);
50 slcExecRetrieved.getSteps().add(
51 new SlcExecutionStep("LOG", "Three \n log \n lines"));
52
53 dao.update(slcExecRetrieved);
54
55 // updated slcExecution retrieval and comparison
56 SlcExecution slcExecUpdated = dao.getSlcExecution(slcExec.getUuid());
57
58 SlcExecutionTestUtils.assertSlcExecution(slcExecRetrieved,
59 slcExecUpdated);
60 assertEquals(3, slcExecUpdated.getSteps().size());
61 SlcExecutionTestUtils.assertSlcExecutionStep(slcExecUpdated.getSteps()
62 .get(0), slcExecRetrieved.getSteps().get(0));
63 SlcExecutionTestUtils.assertSlcExecutionStep(slcExecUpdated.getSteps()
64 .get(1), slcExecRetrieved.getSteps().get(1));
65 SlcExecutionTestUtils.assertSlcExecutionStep(slcExecUpdated.getSteps()
66 .get(2), slcExecRetrieved.getSteps().get(2));
67 }
68
69 @Override
70 protected String getApplicationContextLocation() {
71 return "org/argeo/slc/hibernate/applicationContext.xml";
72 }
73
74 }