]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - org.argeo.slc.core/ext/test/org/argeo/slc/core/execution/AbstractExecutionFlowTestCase.java
First working version of SLC Runtime v2
[gpl/argeo-slc.git] / org.argeo.slc.core / ext / test / org / argeo / slc / core / execution / AbstractExecutionFlowTestCase.java
index 7cc8705f53ec4f4c1a7595e6dcfc1e89869ff4d3..004605cab781d6ba524f41bd97250c1bb2142e6e 100644 (file)
@@ -20,6 +20,7 @@ import junit.framework.TestCase;
 import org.apache.commons.logging.Log;\r
 import org.apache.commons.logging.LogFactory;\r
 import org.argeo.slc.core.test.SimpleTestResult;\r
+import org.argeo.slc.execution.ExecutionContext;\r
 import org.argeo.slc.execution.ExecutionFlow;\r
 import org.argeo.slc.test.TestResultPart;\r
 import org.argeo.slc.test.TestStatus;\r
@@ -59,9 +60,19 @@ public abstract class AbstractExecutionFlowTestCase extends TestCase {
        protected void configureAndExecuteSlcFlow(String applicationContextSuffix,\r
                        String beanName) {\r
                ConfigurableApplicationContext applicationContext = createApplicationContext(applicationContextSuffix);\r
+               ExecutionContext executionContext = (ExecutionContext) applicationContext\r
+                               .getBean("executionContext");\r
                ExecutionFlow executionFlow = (ExecutionFlow) applicationContext\r
                                .getBean(beanName);\r
-               executionFlow.run();\r
+               if (executionFlow instanceof DefaultExecutionFlow)\r
+                       ((DefaultExecutionFlow) executionFlow)\r
+                                       .setExecutionContext(executionContext);\r
+               try {\r
+                       executionContext.beforeFlow(executionFlow);\r
+                       executionFlow.run();\r
+               } finally {\r
+                       executionContext.afterFlow(executionFlow);\r
+               }\r
                applicationContext.close();\r
        }\r
 \r