]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - org.argeo.slc.core/src/test/java/org/argeo/slc/hibernate/process/SlcExecutionHibernateTest.java
Create separate Hibernate project
[gpl/argeo-slc.git] / org.argeo.slc.core / src / test / java / org / argeo / slc / hibernate / process / SlcExecutionHibernateTest.java
index 5aed60d35c093abcc29a5f29c344879031fba521..f821dbd9b5329acf6b629425e9272eacf514ad5f 100644 (file)
@@ -1,5 +1,7 @@
 package org.argeo.slc.hibernate.process;\r
 \r
+import java.util.List;\r
+\r
 import org.argeo.slc.core.process.SlcExecution;\r
 import org.argeo.slc.core.process.SlcExecutionStep;\r
 import org.argeo.slc.core.process.SlcExecutionTestUtils;\r
@@ -9,7 +11,7 @@ import org.argeo.slc.unit.AbstractSpringTestCase;
 public class SlcExecutionHibernateTest extends AbstractSpringTestCase {\r
 \r
        public void testSave() {\r
-               SlcExecutionDao dao = getBean("slcExecutionDao");\r
+               SlcExecutionDao dao = getBean(SlcExecutionDao.class);\r
 \r
                SlcExecution slcExec = SlcExecutionTestUtils.createSimpleSlcExecution();\r
                slcExec.getSteps().add(new SlcExecutionStep("LOG", "A log line"));\r
@@ -26,6 +28,44 @@ public class SlcExecutionHibernateTest extends AbstractSpringTestCase {
                                slcExecPersisted.getSteps().get(1));\r
        }\r
 \r
+       public void testModify() {\r
+               SlcExecutionDao dao = getBean(SlcExecutionDao.class);\r
+\r
+               // slcExecution Creation\r
+               SlcExecution slcExec = SlcExecutionTestUtils.createSimpleSlcExecution();\r
+               slcExec.getSteps().add(new SlcExecutionStep("LOG", "A log line"));\r
+               slcExec.getSteps().add(new SlcExecutionStep("LOG", "Two log\nlines"));\r
+\r
+               dao.create(slcExec);\r
+\r
+               // slcExecution retrieval and update\r
+               SlcExecution slcExecRetrieved = dao.getSlcExecution(slcExec.getUuid());\r
+\r
+               List<String> logLineListStep0 = slcExecRetrieved.getSteps().get(0)\r
+                               .getLogLines();\r
+               for (String logLine : logLineListStep0)\r
+                       logLine = logLine + "appended Log text";\r
+\r
+               slcExecRetrieved.getSteps().get(0).setLogLines(logLineListStep0);\r
+               slcExecRetrieved.getSteps().add(\r
+                               new SlcExecutionStep("LOG", "Three \n log \n lines"));\r
+\r
+               dao.update(slcExecRetrieved);\r
+\r
+               // updated slcExecution retrieval and comparison\r
+               SlcExecution slcExecUpdated = dao.getSlcExecution(slcExec.getUuid());\r
+\r
+               SlcExecutionTestUtils.assertSlcExecution(slcExecRetrieved,\r
+                               slcExecUpdated);\r
+               assertEquals(3, slcExecUpdated.getSteps().size());\r
+               SlcExecutionTestUtils.assertSlcExecutionStep(slcExecUpdated.getSteps()\r
+                               .get(0), slcExecRetrieved.getSteps().get(0));\r
+               SlcExecutionTestUtils.assertSlcExecutionStep(slcExecUpdated.getSteps()\r
+                               .get(1), slcExecRetrieved.getSteps().get(1));\r
+               SlcExecutionTestUtils.assertSlcExecutionStep(slcExecUpdated.getSteps()\r
+                               .get(2), slcExecRetrieved.getSteps().get(2));\r
+       }\r
+\r
        @Override\r
        protected String getApplicationContextLocation() {\r
                return "org/argeo/slc/hibernate/applicationContext.xml";\r