+++ /dev/null
-package org.argeo.slc.core.execution;
-
-import junit.framework.TestCase;
-
-import org.argeo.api.cms.CmsLog;
-import org.argeo.slc.execution.ExecutionContext;
-import org.argeo.slc.execution.ExecutionFlow;
-import org.argeo.slc.runtime.test.SimpleTestResult;
-import org.argeo.slc.test.TestResultPart;
-import org.argeo.slc.test.TestStatus;
-import org.springframework.context.ConfigurableApplicationContext;
-import org.springframework.context.support.ClassPathXmlApplicationContext;
-
-public abstract class AbstractExecutionFlowTestCase extends TestCase {
-
- protected final CmsLog log = CmsLog.getLog(getClass());
-
- protected void logException(Throwable ex) {
- log.info("Got Exception of class " + ex.getClass().toString()
- + " with message '" + ex.getMessage() + "'.");
- }
-
- protected void validateTestResult(SimpleTestResult testResult) {
- validateTestResult(testResult, TestStatus.PASSED);
- }
-
- protected void validateTestResult(SimpleTestResult testResult,
- int expectedStatus) {
- for (TestResultPart part : testResult.getParts()) {
- if (part.getStatus() != expectedStatus) {
- fail("Error found in TestResult: " + part.getMessage());
- }
- }
- }
-
- protected ConfigurableApplicationContext createApplicationContext(
- String applicationContextSuffix) {
- ConfigurableApplicationContext applicationContext = new ClassPathXmlApplicationContext(
- inPackage(applicationContextSuffix));
- // applicationContext.start();
- return applicationContext;
- }
-
- protected void configureAndExecuteSlcFlow(String applicationContextSuffix,
- String beanName) {
- ConfigurableApplicationContext applicationContext = createApplicationContext(applicationContextSuffix);
- ExecutionContext executionContext = (ExecutionContext) applicationContext
- .getBean("executionContext");
- ExecutionFlow executionFlow = (ExecutionFlow) applicationContext
- .getBean(beanName);
- if (executionFlow instanceof DefaultExecutionFlow)
- ((DefaultExecutionFlow) executionFlow)
- .setExecutionContext(executionContext);
- try {
- executionContext.beforeFlow(executionFlow);
- executionFlow.run();
- } finally {
- executionContext.afterFlow(executionFlow);
- }
- applicationContext.close();
- }
-
- protected String inPackage(String suffix) {
- String prefix = getClass().getPackage().getName().replace('.', '/');
- return prefix + '/' + suffix;
- }
-}