diff --git a/modules/activiti-cdi/pom.xml b/modules/activiti-cdi/pom.xml index ae29e5640d583d6e3bea525e36ab0de412efc8e4..edf180dc573f1c74aa3c8661aa6ce85f51b215d3 100644 --- a/modules/activiti-cdi/pom.xml +++ b/modules/activiti-cdi/pom.xml @@ -15,19 +15,152 @@ 5.10-SNAPSHOT + + + + weld-embedded-11 + + true + + + + org.jboss.arquillian.container + arquillian-weld-ee-embedded-1.1 + 1.0.0.CR3 + test + + + org.jboss.weld + weld-core + + + org.jboss.weld + weld-api + + + org.slf4j + slf4j-simple + + + org.jboss.spec + jboss-javaee-6.0 + 2.0.0.Final + pom + provided + + + xalan + org.apache.xalan + + + + + + + + + org.jboss.weld + weld-core-bom + 1.1.5.Final + pom + import + + + + + + + openwebbeans-embedded-1 + + false + + + + org.jboss.arquillian.container + arquillian-openwebbeans-embedded-1 + 1.0.0.CR2 + + + org.apache.openwebbeans + openwebbeans-spi + + + org.apache.openwebbeans + openwebbeans-impl + + + org.apache.geronimo.specs + geronimo-el_2.2_spec + + + org.apache.geronimo.specs + geronimo-jta_1.1_spec + + + org.apache.geronimo.specs + geronimo-validation_1.0_spec + + + org.apache.geronimo.specs + geronimo-interceptor_1.1_spec + + + org.apache.geronimo.specs + geronimo-jcdi_1.0_spec + + + org.apache.geronimo.specs + geronimo-atinject_1.0_spec + + + org.apache.geronimo.specs + geronimo-servlet_2.5_spec + + + + + + org.apache.openwebbeans + openwebbeans + 1.1.3 + pom + import + + + + + + distro + + + + org.apache.maven.plugins + maven-source-plugin + 2.1.1 + + + attach-sources + package + + jar-no-fork + + + + + + + + + - - org.jboss.weld.se - weld-se - provided - org.activiti activiti-engine - org.springframework - spring-context + org.jboss.arquillian.junit + arquillian-junit-container + 1.0.0.CR7 test @@ -40,16 +173,6 @@ h2 test - - javax.enterprise - cdi-api - provided - - - javax.el - el-api - provided - @@ -71,28 +194,4 @@ - - - distro - - - - org.apache.maven.plugins - maven-source-plugin - 2.1.1 - - - attach-sources - package - - jar-no-fork - - - - - - - - - diff --git a/modules/activiti-cdi/src/main/java/org/activiti/cdi/ProcessVariables.java b/modules/activiti-cdi/src/main/java/org/activiti/cdi/ProcessVariables.java index 8d96e4f85918f9066345fa910db93b5ec037a75b..9d3107aa8ff5e5dea8bfaac3a077ca528baf1813 100644 --- a/modules/activiti-cdi/src/main/java/org/activiti/cdi/ProcessVariables.java +++ b/modules/activiti-cdi/src/main/java/org/activiti/cdi/ProcessVariables.java @@ -46,7 +46,7 @@ public class ProcessVariables { } @Produces - @ProcessVariable("") + @ProcessVariable protected Object getProcessVariable(InjectionPoint ip) { String processVariableName = getVariableName(ip); diff --git a/modules/activiti-cdi/src/main/java/org/activiti/cdi/annotation/ProcessVariable.java b/modules/activiti-cdi/src/main/java/org/activiti/cdi/annotation/ProcessVariable.java index e78c96278c64cf9d2084bbe3910a3e7f9df9e25a..84d8710b5b82293a511743847cbe6713dc755dc0 100644 --- a/modules/activiti-cdi/src/main/java/org/activiti/cdi/annotation/ProcessVariable.java +++ b/modules/activiti-cdi/src/main/java/org/activiti/cdi/annotation/ProcessVariable.java @@ -12,10 +12,9 @@ */ package org.activiti.cdi.annotation; -import java.lang.annotation.ElementType; +import java.lang.annotation.Documented; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; import javax.enterprise.util.Nonbinding; import javax.inject.Qualifier; @@ -48,8 +47,8 @@ import javax.inject.Qualifier; * @author Daniel Meyer */ @Qualifier -@Target({ ElementType.FIELD, ElementType.PARAMETER, ElementType.METHOD, ElementType.TYPE }) @Retention(RetentionPolicy.RUNTIME) +@Documented public @interface ProcessVariable { /** diff --git a/modules/activiti-cdi/src/main/java/org/activiti/cdi/impl/annotation/CompleteTaskInterceptor.java b/modules/activiti-cdi/src/main/java/org/activiti/cdi/impl/annotation/CompleteTaskInterceptor.java index 586fc096ead0dda07dc9e8befb27fe87c273958d..eea59c5200b4d96399ca562da4700f6c707b54e7 100644 --- a/modules/activiti-cdi/src/main/java/org/activiti/cdi/impl/annotation/CompleteTaskInterceptor.java +++ b/modules/activiti-cdi/src/main/java/org/activiti/cdi/impl/annotation/CompleteTaskInterceptor.java @@ -38,7 +38,7 @@ public class CompleteTaskInterceptor implements Serializable { @Inject BusinessProcess businessProcess; @AroundInvoke - public Object invoke(InvocationContext ctx) throws Throwable { + public Object invoke(InvocationContext ctx) throws Exception { try { Object result = ctx.proceed(); diff --git a/modules/activiti-cdi/src/main/java/org/activiti/cdi/impl/annotation/StartProcessInterceptor.java b/modules/activiti-cdi/src/main/java/org/activiti/cdi/impl/annotation/StartProcessInterceptor.java index 0396878d12072885f1adadd719d0af2e7500cfb1..8fdc62c6b7c6abb7dd6c6bda48b1531b8e7a8afd 100644 --- a/modules/activiti-cdi/src/main/java/org/activiti/cdi/impl/annotation/StartProcessInterceptor.java +++ b/modules/activiti-cdi/src/main/java/org/activiti/cdi/impl/annotation/StartProcessInterceptor.java @@ -42,7 +42,7 @@ public class StartProcessInterceptor implements Serializable { @Inject BusinessProcess businessProcess; @AroundInvoke - public Object invoke(InvocationContext ctx) throws Throwable { + public Object invoke(InvocationContext ctx) throws Exception { try { Object result = ctx.proceed(); @@ -61,7 +61,12 @@ public class StartProcessInterceptor implements Serializable { return result; } catch (InvocationTargetException e) { - throw e.getCause(); + Throwable cause = e.getCause(); + if(cause != null && cause instanceof Exception) { + throw (Exception) cause; + } else { + throw e; + } } catch (Exception e) { throw new ActivitiException("Error while starting process using @StartProcess on method '"+ctx.getMethod()+"': " + e.getMessage(), e); } diff --git a/modules/activiti-cdi/src/main/java/org/activiti/cdi/impl/util/ProgrammaticBeanLookup.java b/modules/activiti-cdi/src/main/java/org/activiti/cdi/impl/util/ProgrammaticBeanLookup.java index 022fd8992d9cc7d4ea0e583951219088270354f2..11099d6bb90b0d82e806a3f151c001eab62e3e77 100644 --- a/modules/activiti-cdi/src/main/java/org/activiti/cdi/impl/util/ProgrammaticBeanLookup.java +++ b/modules/activiti-cdi/src/main/java/org/activiti/cdi/impl/util/ProgrammaticBeanLookup.java @@ -12,6 +12,7 @@ */ package org.activiti.cdi.impl.util; +import java.lang.reflect.Type; import java.util.Iterator; import javax.enterprise.context.spi.CreationalContext; @@ -45,7 +46,9 @@ public class ProgrammaticBeanLookup { } Bean bean = iter.next(); CreationalContext ctx = bm.createCreationalContext(bean); - return bm.getReference(bean, bean.getBeanClass(), ctx); + // select one beantype randomly. A bean has a non-empty set of beantypes. + Type type = (Type) bean.getTypes().iterator().next(); + return bm.getReference(bean, type, ctx); } public static T lookup(Class clazz) { diff --git a/modules/activiti-cdi/src/test/java/org/activiti/cdi/impl/context/ContextScopingTest.java b/modules/activiti-cdi/src/test/java/org/activiti/cdi/impl/context/ContextScopingTest.java deleted file mode 100644 index 6e2e00469faa66b8566a84c35368ccb3fe52e534..0000000000000000000000000000000000000000 --- a/modules/activiti-cdi/src/test/java/org/activiti/cdi/impl/context/ContextScopingTest.java +++ /dev/null @@ -1,51 +0,0 @@ -/* Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.activiti.cdi.impl.context; - -import org.activiti.cdi.BusinessProcess; -import org.activiti.cdi.test.CdiActivitiTestCase; -import org.activiti.engine.test.Deployment; - -/** - * - * @author Daniel Meyer - */ -public class ContextScopingTest extends CdiActivitiTestCase { - - @Override - public void beginConversation() { - // do not activate conversation - } - - @Override - public void endConversation() { - // do not deactivate conversation - } - - @Deployment - public void testFallbackToRequestContext() { - BusinessProcess businessProcess = getBeanInstance(BusinessProcess.class); - - String pid = businessProcess.startProcessByKey("processkey").getId(); - assertEquals(pid, businessProcess.getProcessInstanceId()); - - endRequest(); - beginRequest(); - // assert that now the process is not associated with the new request. - assertNull(businessProcess.getProcessInstanceId()); - - runtimeService.deleteProcessInstance(pid, null); - - } - -} diff --git a/modules/activiti-cdi/src/test/java/org/activiti/cdi/test/CdiActivitiTestCase.java b/modules/activiti-cdi/src/test/java/org/activiti/cdi/test/CdiActivitiTestCase.java index 082c2f546aebd6d7d96add28380c6c616e55fda0..60b82636443abbfdce9628426e14f97704306827 100644 --- a/modules/activiti-cdi/src/test/java/org/activiti/cdi/test/CdiActivitiTestCase.java +++ b/modules/activiti-cdi/src/test/java/org/activiti/cdi/test/CdiActivitiTestCase.java @@ -12,24 +12,36 @@ */ package org.activiti.cdi.test; -import java.util.HashMap; -import java.util.Map; -import java.util.logging.Level; +import java.util.Timer; +import java.util.TimerTask; +import java.util.concurrent.Callable; import java.util.logging.Logger; import javax.enterprise.inject.spi.BeanManager; import org.activiti.cdi.BusinessProcess; -import org.activiti.cdi.impl.util.BeanManagerLookup; import org.activiti.cdi.impl.util.ProgrammaticBeanLookup; +import org.activiti.cdi.test.util.ProcessEngineLookupForTestsuite; import org.activiti.engine.ActivitiException; -import org.activiti.engine.impl.test.PluggableActivitiTestCase; -import org.jboss.weld.context.bound.BoundConversationContext; -import org.jboss.weld.context.bound.BoundRequestContext; -import org.jboss.weld.context.bound.BoundSessionContext; -import org.jboss.weld.context.bound.MutableBoundRequest; -import org.jboss.weld.environment.se.Weld; -import org.jboss.weld.environment.se.WeldContainer; +import org.activiti.engine.FormService; +import org.activiti.engine.HistoryService; +import org.activiti.engine.IdentityService; +import org.activiti.engine.ManagementService; +import org.activiti.engine.ProcessEngine; +import org.activiti.engine.RepositoryService; +import org.activiti.engine.RuntimeService; +import org.activiti.engine.TaskService; +import org.activiti.engine.impl.ProcessEngineImpl; +import org.activiti.engine.impl.cfg.ProcessEngineConfigurationImpl; +import org.activiti.engine.impl.jobexecutor.JobExecutor; +import org.activiti.engine.test.ActivitiRule; +import org.jboss.arquillian.container.test.api.Deployment; +import org.jboss.arquillian.junit.Arquillian; +import org.jboss.shrinkwrap.api.ShrinkWrap; +import org.jboss.shrinkwrap.api.spec.JavaArchive; +import org.junit.Before; +import org.junit.Rule; +import org.junit.runner.RunWith; /** * Abstract base class for executing activiti-cdi tests in a Java SE @@ -37,185 +49,139 @@ import org.jboss.weld.environment.se.WeldContainer; * * @author Daniel Meyer */ -public abstract class CdiActivitiTestCase extends PluggableActivitiTestCase { +@RunWith(Arquillian.class) +public abstract class CdiActivitiTestCase { protected Logger logger = Logger.getLogger(getClass().getName()); - - protected WeldContainer weldContainer; - - protected BeanManager beanManager; - - protected Weld weld; - - // hide from subclasses - private HashMap currentRequestMap; - private HashMap currentSessionMap; - - @Override - protected void setUp() throws Exception { - // set the process engine in the TestProcessEngineLookup-bean. - ProcessEngineLookupForTestsuite.processEngine = processEngine; - // bootstrap the CDI container - weld = new Weld(); - weldContainer = weld.initialize(); - beanManager = weldContainer.getBeanManager(); - BeanManagerLookup.localInstance = beanManager; - beginRequest(); - beginSession(); - beginConversation(); + @Deployment + public static JavaArchive createDeployment() { + return ShrinkWrap.create(JavaArchive.class) + .addPackages(true, "org.activiti.cdi") + .addAsManifestResource("META-INF/beans.xml", "beans.xml"); } - public void beginSession() { - currentSessionMap = new HashMap(); - beginSession(currentSessionMap); - } + @Rule + public ActivitiRule activitiRule = new ActivitiRule(getBeanInstance(ProcessEngine.class)); - public void beginSession(Map sessionDataMap) { - BoundSessionContext sessionContext = getSessionContext(); - sessionContext.associate(currentSessionMap); - sessionContext.activate(); - if (logger.isLoggable(Level.FINE)) { - logger.fine(" ----------------------------- Started a new Session -----------------------"); - } - } + protected BeanManager beanManager; - public void endSession() { - endSession(currentSessionMap); - currentSessionMap = null; - } - - public void endSession(Map sessionDataMap) { - BoundSessionContext sessionContext = getSessionContext(); - try { - sessionContext.invalidate(); - sessionContext.deactivate(); - if (logger.isLoggable(Level.FINE)) { - logger.fine(" ----------------------------- Ended the current Session -----------------------"); - } - } finally { - sessionContext.dissociate(sessionDataMap); - } + protected ProcessEngine processEngine; + protected FormService formService; + protected HistoryService historyService; + protected IdentityService identityService; + protected ManagementService managementService; + protected RepositoryService repositoryService; + protected RuntimeService runtimeService; + protected TaskService taskService; + protected ProcessEngineConfigurationImpl processEngineConfiguration; + + @Before + public void setUp() throws Exception { + + beanManager = ProgrammaticBeanLookup.lookup(BeanManager.class); + processEngine = ProgrammaticBeanLookup.lookup(ProcessEngine.class); + processEngineConfiguration = ((ProcessEngineImpl)ProcessEngineLookupForTestsuite.processEngine).getProcessEngineConfiguration(); + formService = processEngine.getFormService(); + historyService = processEngine.getHistoryService(); + identityService = processEngine.getIdentityService(); + managementService = processEngine.getManagementService(); + repositoryService = processEngine.getRepositoryService(); + runtimeService = processEngine.getRuntimeService(); + taskService = processEngine.getTaskService(); } - - public void beginRequest() { - currentRequestMap = new HashMap(); - beginRequest(currentRequestMap); + + protected void endConversationAndBeginNew(String processInstanceId) { + getBeanInstance(BusinessProcess.class).associateExecutionById(processInstanceId); } - public void beginRequest(Map requestDataStore) { - // Associate the store with the context and acticate the context - BoundRequestContext requestContext = getRequestContext(); - requestContext.associate(requestDataStore); - requestContext.activate(); - if (logger.isLoggable(Level.FINE)) { - logger.fine(" ----------------------------- Started a new Request -----------------------"); - } + protected T getBeanInstance(Class clazz) { + return ProgrammaticBeanLookup.lookup(clazz); } - public void endRequest() { - endRequest(currentRequestMap); - currentRequestMap = null; + protected Object getBeanInstance(String name) { + return ProgrammaticBeanLookup.lookup(name); } + + //////////////////////// copied from AbstractActivitiTestcase + + public void waitForJobExecutorToProcessAllJobs(long maxMillisToWait, long intervalMillis) { + JobExecutor jobExecutor = processEngineConfiguration.getJobExecutor(); + jobExecutor.start(); - public void endRequest(Map requestDataStore) { - BoundRequestContext requestContext = getRequestContext(); try { - requestContext.invalidate(); - requestContext.deactivate(); - if (logger.isLoggable(Level.FINE)) { - logger.fine(" ----------------------------- Ended the current Request -----------------------"); + Timer timer = new Timer(); + InteruptTask task = new InteruptTask(Thread.currentThread()); + timer.schedule(task, maxMillisToWait); + boolean areJobsAvailable = true; + try { + while (areJobsAvailable && !task.isTimeLimitExceeded()) { + Thread.sleep(intervalMillis); + areJobsAvailable = areJobsAvailable(); + } + } catch (InterruptedException e) { + } finally { + timer.cancel(); + } + if (areJobsAvailable) { + throw new ActivitiException("time limit of " + maxMillisToWait + " was exceeded"); } - } finally { - requestContext.dissociate(requestDataStore); - } - } - - public void beginConversation() { - if (currentRequestMap == null) { - throw new ActivitiException("Cannot start conversation: no request active."); - } - if(currentSessionMap == null) { - throw new ActivitiException("Cannot start conversation: no session active."); - } - currentSessionMap = new HashMap(); - startTransientConversation(currentRequestMap, currentSessionMap); - } - public void endConversation() { - if (currentRequestMap == null) { - throw new ActivitiException("Cannot end conversation: no request active."); - } - if(currentSessionMap == null) { - throw new ActivitiException("Cannot end conversation: no session active."); + } finally { + jobExecutor.shutdown(); } - endOrPassivateConversation(currentRequestMap, currentSessionMap); } - public void startTransientConversation(Map requestDataStore, Map sessionDataStore) { - resumeOrStartConversation(requestDataStore, sessionDataStore, null); - } + public void waitForJobExecutorOnCondition(long maxMillisToWait, long intervalMillis, Callable condition) { + JobExecutor jobExecutor = processEngineConfiguration.getJobExecutor(); + jobExecutor.start(); - public void resumeOrStartConversation(Map requestDataStore, Map sessionDataStore, String cid) { - BoundConversationContext conversationContext = getConversationContext(); - conversationContext.associate(new MutableBoundRequest(requestDataStore, sessionDataStore)); - conversationContext.activate(cid); - if (logger.isLoggable(Level.FINE)) { - logger.fine("---------------------------------------- Started a new Conversation -----------------------"); - } - } - - public void endOrPassivateConversation(Map requestDataStore, Map sessionDataStore) { - BoundConversationContext conversationContext = getConversationContext(); try { - conversationContext.invalidate(); - conversationContext.deactivate(); - if (logger.isLoggable(Level.FINE)) { - logger.fine("---------------------------------------- Ended the current Conversation -----------------------"); + Timer timer = new Timer(); + InteruptTask task = new InteruptTask(Thread.currentThread()); + timer.schedule(task, maxMillisToWait); + boolean conditionIsViolated = true; + try { + while (conditionIsViolated) { + Thread.sleep(intervalMillis); + conditionIsViolated = !condition.call(); + } + } catch (InterruptedException e) { + } catch (Exception e) { + throw new ActivitiException("Exception while waiting on condition: "+e.getMessage(), e); + } finally { + timer.cancel(); + } + if (conditionIsViolated) { + throw new ActivitiException("time limit of " + maxMillisToWait + " was exceeded"); } + } finally { - conversationContext.dissociate(new MutableBoundRequest(requestDataStore, sessionDataStore)); + jobExecutor.shutdown(); } } - @Override - protected void tearDown() throws Exception { - endConversation(); - endRequest(); - endSession(); -// https://issues.jboss.org/browse/WELD-891 - weld.shutdown(); - } - - protected void endConversationAndBeginNew() { - endConversation(); - beginConversation(); - } - - protected void endConversationAndBeginNew(String processInstanceId) { - endConversation(); - beginConversation(); - getBeanInstance(BusinessProcess.class).associateExecutionById(processInstanceId); + public boolean areJobsAvailable() { + return !managementService + .createJobQuery() + .executable() + .list() + .isEmpty(); } - - protected BoundConversationContext getConversationContext() { - return getBeanInstance(BoundConversationContext.class); - } - - protected BoundSessionContext getSessionContext() { - return getBeanInstance(BoundSessionContext.class); - } - - protected BoundRequestContext getRequestContext() { - return getBeanInstance(BoundRequestContext.class); - } - - protected T getBeanInstance(Class clazz) { - return ProgrammaticBeanLookup.lookup(clazz); - } - - protected Object getBeanInstance(String name) { - return ProgrammaticBeanLookup.lookup(name); + + private static class InteruptTask extends TimerTask { + protected boolean timeLimitExceeded = false; + protected Thread thread; + public InteruptTask(Thread thread) { + this.thread = thread; + } + public boolean isTimeLimitExceeded() { + return timeLimitExceeded; + } + public void run() { + timeLimitExceeded = true; + thread.interrupt(); + } } } diff --git a/modules/activiti-cdi/src/test/java/org/activiti/cdi/BusinessProcessBeanTest.java b/modules/activiti-cdi/src/test/java/org/activiti/cdi/test/api/BusinessProcessBeanTest.java similarity index 88% rename from modules/activiti-cdi/src/test/java/org/activiti/cdi/BusinessProcessBeanTest.java rename to modules/activiti-cdi/src/test/java/org/activiti/cdi/test/api/BusinessProcessBeanTest.java index bfcc2d7d85578761de9127d5842ca78658446b24..9c281d48d1b057cf26c96d98d99ce462cdbe374a 100644 --- a/modules/activiti-cdi/src/test/java/org/activiti/cdi/BusinessProcessBeanTest.java +++ b/modules/activiti-cdi/src/test/java/org/activiti/cdi/test/api/BusinessProcessBeanTest.java @@ -10,13 +10,19 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.activiti.cdi; +package org.activiti.cdi.test.api; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; + +import org.activiti.cdi.BusinessProcess; import org.activiti.cdi.test.CdiActivitiTestCase; import org.activiti.engine.runtime.Execution; import org.activiti.engine.runtime.ProcessInstance; import org.activiti.engine.task.Task; import org.activiti.engine.test.Deployment; +import org.junit.Test; /** * @author Daniel Meyer @@ -24,6 +30,7 @@ import org.activiti.engine.test.Deployment; public class BusinessProcessBeanTest extends CdiActivitiTestCase { /* General test asserting that the business process bean is functional */ + @Test @Deployment public void test() throws Exception { @@ -55,7 +62,8 @@ public class BusinessProcessBeanTest extends CdiActivitiTestCase { } - @Deployment(resources = "org/activiti/cdi/BusinessProcessBeanTest.test.bpmn20.xml") + @Test + @Deployment(resources = "org/activiti/cdi/test/api/BusinessProcessBeanTest.test.bpmn20.xml") public void testResolveProcessInstanceBean() { BusinessProcess businessProcess = getBeanInstance(BusinessProcess.class); @@ -75,7 +83,8 @@ public class BusinessProcessBeanTest extends CdiActivitiTestCase { taskService.complete(taskService.createTaskQuery().singleResult().getId()); } - @Deployment(resources = "org/activiti/cdi/BusinessProcessBeanTest.test.bpmn20.xml") + @Test + @Deployment(resources = "org/activiti/cdi/test/api/BusinessProcessBeanTest.test.bpmn20.xml") public void testResolveTaskBean() { BusinessProcess businessProcess = getBeanInstance(BusinessProcess.class); diff --git a/modules/activiti-cdi/src/test/java/org/activiti/cdi/annotation/BusinessKeyTest.java b/modules/activiti-cdi/src/test/java/org/activiti/cdi/test/api/annotation/BusinessKeyTest.java similarity index 79% rename from modules/activiti-cdi/src/test/java/org/activiti/cdi/annotation/BusinessKeyTest.java rename to modules/activiti-cdi/src/test/java/org/activiti/cdi/test/api/annotation/BusinessKeyTest.java index 69cb0a3eafb831a89ba487b244607f2418254630..8ee3d64e9257a1235b77ced3d274fc7aaddc7255 100644 --- a/modules/activiti-cdi/src/test/java/org/activiti/cdi/annotation/BusinessKeyTest.java +++ b/modules/activiti-cdi/src/test/java/org/activiti/cdi/test/api/annotation/BusinessKeyTest.java @@ -10,18 +10,22 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.activiti.cdi.annotation; +package org.activiti.cdi.test.api.annotation; import org.activiti.cdi.BusinessProcess; +import org.activiti.cdi.impl.util.ProgrammaticBeanLookup; import org.activiti.cdi.test.CdiActivitiTestCase; import org.activiti.engine.test.Deployment; +import org.junit.Assert; +import org.junit.Test; /** * * @author Daniel Meyer */ public class BusinessKeyTest extends CdiActivitiTestCase { - + + @Test @Deployment public void testBusinessKeyInjectable() { String businessKey = "Activiti"; @@ -29,8 +33,7 @@ public class BusinessKeyTest extends CdiActivitiTestCase { getBeanInstance(BusinessProcess.class).associateExecutionById(pid); // assert that now the businessKey-Bean can be looked up: - assertEquals(businessKey, getBeanInstance("businessKey")); - + Assert.assertEquals(businessKey, ProgrammaticBeanLookup.lookup("businessKey")); } } diff --git a/modules/activiti-cdi/src/test/java/org/activiti/cdi/annotation/CompleteTaskTest.java b/modules/activiti-cdi/src/test/java/org/activiti/cdi/test/api/annotation/CompleteTaskTest.java similarity index 81% rename from modules/activiti-cdi/src/test/java/org/activiti/cdi/annotation/CompleteTaskTest.java rename to modules/activiti-cdi/src/test/java/org/activiti/cdi/test/api/annotation/CompleteTaskTest.java index c1e8add1f49aca733b75580eb2800115b0e0b4f1..d0ecf140b48a37adb5657f7afd6fc83ac9ab9d58 100644 --- a/modules/activiti-cdi/src/test/java/org/activiti/cdi/annotation/CompleteTaskTest.java +++ b/modules/activiti-cdi/src/test/java/org/activiti/cdi/test/api/annotation/CompleteTaskTest.java @@ -10,14 +10,17 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.activiti.cdi.annotation; +package org.activiti.cdi.test.api.annotation; + +import static org.junit.Assert.assertNull; import org.activiti.cdi.BusinessProcess; import org.activiti.cdi.impl.annotation.CompleteTaskInterceptor; import org.activiti.cdi.test.CdiActivitiTestCase; -import org.activiti.cdi.test.beans.DeclarativeProcessController; +import org.activiti.cdi.test.impl.beans.DeclarativeProcessController; import org.activiti.engine.task.Task; import org.activiti.engine.test.Deployment; +import org.junit.Test; /** * Testcase for assuring that the {@link CompleteTaskInterceptor} works as @@ -27,7 +30,8 @@ import org.activiti.engine.test.Deployment; */ public class CompleteTaskTest extends CdiActivitiTestCase { - @Deployment(resources = "org/activiti/cdi/annotation/CompleteTaskTest.bpmn20.xml") + @Test + @Deployment(resources = "org/activiti/cdi/test/api/annotation/CompleteTaskTest.bpmn20.xml") public void testCompleteTask() { BusinessProcess businessProcess = getBeanInstance(BusinessProcess.class); diff --git a/modules/activiti-cdi/src/test/java/org/activiti/cdi/annotation/ProcessIdTest.java b/modules/activiti-cdi/src/test/java/org/activiti/cdi/test/api/annotation/ProcessIdTest.java similarity index 75% rename from modules/activiti-cdi/src/test/java/org/activiti/cdi/annotation/ProcessIdTest.java rename to modules/activiti-cdi/src/test/java/org/activiti/cdi/test/api/annotation/ProcessIdTest.java index 97329d4716e6b4e08682576b2b926367cdadb336..50f7f762d93f803b213be973ed2a87f086365e5c 100644 --- a/modules/activiti-cdi/src/test/java/org/activiti/cdi/annotation/ProcessIdTest.java +++ b/modules/activiti-cdi/src/test/java/org/activiti/cdi/test/api/annotation/ProcessIdTest.java @@ -10,22 +10,28 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.activiti.cdi.annotation; +package org.activiti.cdi.test.api.annotation; import org.activiti.cdi.BusinessProcess; import org.activiti.cdi.test.CdiActivitiTestCase; import org.activiti.engine.test.Deployment; +import org.jboss.arquillian.junit.Arquillian; +import org.junit.Assert; +import org.junit.Test; +import org.junit.runner.RunWith; /** * * @author Daniel Meyer */ +@RunWith(Arquillian.class) public class ProcessIdTest extends CdiActivitiTestCase { + @Test @Deployment public void testProcessIdInjectable() { getBeanInstance(BusinessProcess.class).startProcessByKey("keyOfTheProcess"); - assertNotNull(getBeanInstance("processInstanceId")); + Assert.assertNotNull(getBeanInstance("processInstanceId")); } } diff --git a/modules/activiti-cdi/src/test/java/org/activiti/cdi/annotation/StartProcessTest.java b/modules/activiti-cdi/src/test/java/org/activiti/cdi/test/api/annotation/StartProcessTest.java similarity index 82% rename from modules/activiti-cdi/src/test/java/org/activiti/cdi/annotation/StartProcessTest.java rename to modules/activiti-cdi/src/test/java/org/activiti/cdi/test/api/annotation/StartProcessTest.java index dfe7b0e07ad0abd19b730bdcf05f47ceca2eba17..bfe78e4cb094c28dda105787642b7c98bb31f876 100644 --- a/modules/activiti-cdi/src/test/java/org/activiti/cdi/annotation/StartProcessTest.java +++ b/modules/activiti-cdi/src/test/java/org/activiti/cdi/test/api/annotation/StartProcessTest.java @@ -10,13 +10,16 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.activiti.cdi.annotation; +package org.activiti.cdi.test.api.annotation; import org.activiti.cdi.BusinessProcess; import org.activiti.cdi.impl.annotation.StartProcessInterceptor; import org.activiti.cdi.test.CdiActivitiTestCase; -import org.activiti.cdi.test.beans.DeclarativeProcessController; +import org.activiti.cdi.test.impl.beans.DeclarativeProcessController; import org.activiti.engine.test.Deployment; +import org.junit.Test; + +import static org.junit.Assert.*; /** * Testcase for assuring that the {@link StartProcessInterceptor} behaves as @@ -26,7 +29,8 @@ import org.activiti.engine.test.Deployment; */ public class StartProcessTest extends CdiActivitiTestCase { - @Deployment(resources = "org/activiti/cdi/annotation/StartProcessTest.bpmn20.xml") + @Test + @Deployment(resources = "org/activiti/cdi/test/api/annotation/StartProcessTest.bpmn20.xml") public void testStartProcessByKey() { assertNull(runtimeService.createProcessInstanceQuery().singleResult()); @@ -42,7 +46,8 @@ public class StartProcessTest extends CdiActivitiTestCase { businessProcess.completeTask(); } - @Deployment(resources = "org/activiti/cdi/annotation/StartProcessTest.bpmn20.xml") + @Test + @Deployment(resources = "org/activiti/cdi/test/api/annotation/StartProcessTest.bpmn20.xml") public void testStartProcessByName() { assertNull(runtimeService.createProcessInstanceQuery().singleResult()); diff --git a/modules/activiti-cdi/src/test/java/org/activiti/cdi/annotation/TaskIdTest.java b/modules/activiti-cdi/src/test/java/org/activiti/cdi/test/api/annotation/TaskIdTest.java similarity index 88% rename from modules/activiti-cdi/src/test/java/org/activiti/cdi/annotation/TaskIdTest.java rename to modules/activiti-cdi/src/test/java/org/activiti/cdi/test/api/annotation/TaskIdTest.java index fa5bebe4830bc5f1aed79b3b2f079f056d6fee01..a3d097f6f7ad89719f26657869f59cfc043f99da 100644 --- a/modules/activiti-cdi/src/test/java/org/activiti/cdi/annotation/TaskIdTest.java +++ b/modules/activiti-cdi/src/test/java/org/activiti/cdi/test/api/annotation/TaskIdTest.java @@ -10,11 +10,14 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.activiti.cdi.annotation; +package org.activiti.cdi.test.api.annotation; import org.activiti.cdi.BusinessProcess; import org.activiti.cdi.test.CdiActivitiTestCase; import org.activiti.engine.test.Deployment; +import org.junit.Test; + +import static org.junit.Assert.*; /** * @@ -22,6 +25,7 @@ import org.activiti.engine.test.Deployment; */ public class TaskIdTest extends CdiActivitiTestCase { + @Test @Deployment public void testTaskIdInjectable() { BusinessProcess businessProcess = getBeanInstance(BusinessProcess.class); diff --git a/modules/activiti-cdi/src/test/java/org/activiti/cdi/test/beans/CreditCard.java b/modules/activiti-cdi/src/test/java/org/activiti/cdi/test/impl/beans/CreditCard.java similarity index 93% rename from modules/activiti-cdi/src/test/java/org/activiti/cdi/test/beans/CreditCard.java rename to modules/activiti-cdi/src/test/java/org/activiti/cdi/test/impl/beans/CreditCard.java index b3518a5a7f52cf534c0597990a25306100787f5d..dff4ef63ca49454a22fb7801a1109e39e6aa34f7 100644 --- a/modules/activiti-cdi/src/test/java/org/activiti/cdi/test/beans/CreditCard.java +++ b/modules/activiti-cdi/src/test/java/org/activiti/cdi/test/impl/beans/CreditCard.java @@ -10,7 +10,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.activiti.cdi.test.beans; +package org.activiti.cdi.test.impl.beans; import java.io.Serializable; diff --git a/modules/activiti-cdi/src/test/java/org/activiti/cdi/test/beans/DeclarativeProcessController.java b/modules/activiti-cdi/src/test/java/org/activiti/cdi/test/impl/beans/DeclarativeProcessController.java similarity index 93% rename from modules/activiti-cdi/src/test/java/org/activiti/cdi/test/beans/DeclarativeProcessController.java rename to modules/activiti-cdi/src/test/java/org/activiti/cdi/test/impl/beans/DeclarativeProcessController.java index f493ae826db36d7397226f6deb8fd137f58402df..43963eaba66978153d115998479e1ba4f356cec2 100644 --- a/modules/activiti-cdi/src/test/java/org/activiti/cdi/test/beans/DeclarativeProcessController.java +++ b/modules/activiti-cdi/src/test/java/org/activiti/cdi/test/impl/beans/DeclarativeProcessController.java @@ -10,7 +10,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.activiti.cdi.test.beans; +package org.activiti.cdi.test.impl.beans; import org.activiti.cdi.annotation.CompleteTask; import org.activiti.cdi.annotation.ProcessVariable; diff --git a/modules/activiti-cdi/src/test/java/org/activiti/cdi/test/beans/MessageBean.java b/modules/activiti-cdi/src/test/java/org/activiti/cdi/test/impl/beans/MessageBean.java similarity index 89% rename from modules/activiti-cdi/src/test/java/org/activiti/cdi/test/beans/MessageBean.java rename to modules/activiti-cdi/src/test/java/org/activiti/cdi/test/impl/beans/MessageBean.java index 25d658d01dfd59a8f3fa4ef2c31c1a49ebb3e037..a70fd5335ca4f6a1ff63977ec17f15df696f0c48 100644 --- a/modules/activiti-cdi/src/test/java/org/activiti/cdi/test/beans/MessageBean.java +++ b/modules/activiti-cdi/src/test/java/org/activiti/cdi/test/impl/beans/MessageBean.java @@ -10,18 +10,18 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.activiti.cdi.test.beans; +package org.activiti.cdi.test.impl.beans; import java.io.Serializable; -import javax.enterprise.context.ConversationScoped; +import javax.enterprise.context.ApplicationScoped; import javax.inject.Named; /** * @author Daniel Meyer */ @Named -@ConversationScoped +@ApplicationScoped public class MessageBean implements Serializable { private static final long serialVersionUID = 1L; diff --git a/modules/activiti-cdi/src/test/java/org/activiti/cdi/test/beans/ProcessScopedMessageBean.java b/modules/activiti-cdi/src/test/java/org/activiti/cdi/test/impl/beans/ProcessScopedMessageBean.java similarity index 96% rename from modules/activiti-cdi/src/test/java/org/activiti/cdi/test/beans/ProcessScopedMessageBean.java rename to modules/activiti-cdi/src/test/java/org/activiti/cdi/test/impl/beans/ProcessScopedMessageBean.java index 6dfafa585f664b9751feb032444ef23e747e671d..02afcd4482ad070fea20a2568e445aa945c9cfd2 100644 --- a/modules/activiti-cdi/src/test/java/org/activiti/cdi/test/beans/ProcessScopedMessageBean.java +++ b/modules/activiti-cdi/src/test/java/org/activiti/cdi/test/impl/beans/ProcessScopedMessageBean.java @@ -10,7 +10,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.activiti.cdi.test.beans; +package org.activiti.cdi.test.impl.beans; import java.io.Serializable; diff --git a/modules/activiti-cdi/src/test/java/org/activiti/cdi/impl/context/BusinessProcessContextTest.java b/modules/activiti-cdi/src/test/java/org/activiti/cdi/test/impl/context/BusinessProcessContextTest.java similarity index 88% rename from modules/activiti-cdi/src/test/java/org/activiti/cdi/impl/context/BusinessProcessContextTest.java rename to modules/activiti-cdi/src/test/java/org/activiti/cdi/test/impl/context/BusinessProcessContextTest.java index b4ba46f3252d1d740685ab8ae8798e4641bf7a7a..86d223ac3657d348c1b8b5f48bbc28597c7a73d2 100644 --- a/modules/activiti-cdi/src/test/java/org/activiti/cdi/impl/context/BusinessProcessContextTest.java +++ b/modules/activiti-cdi/src/test/java/org/activiti/cdi/test/impl/context/BusinessProcessContextTest.java @@ -10,13 +10,16 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.activiti.cdi.impl.context; +package org.activiti.cdi.test.impl.context; import org.activiti.cdi.BusinessProcess; import org.activiti.cdi.test.CdiActivitiTestCase; -import org.activiti.cdi.test.beans.CreditCard; -import org.activiti.cdi.test.beans.ProcessScopedMessageBean; +import org.activiti.cdi.test.impl.beans.CreditCard; +import org.activiti.cdi.test.impl.beans.ProcessScopedMessageBean; import org.activiti.engine.test.Deployment; +import org.junit.Test; + +import static org.junit.Assert.*; /** * @@ -24,6 +27,7 @@ import org.activiti.engine.test.Deployment; */ public class BusinessProcessContextTest extends CdiActivitiTestCase { + @Test @Deployment public void testResolution() throws Exception { BusinessProcess businessProcess = getBeanInstance(BusinessProcess.class); @@ -33,19 +37,21 @@ public class BusinessProcessContextTest extends CdiActivitiTestCase { assertNotNull(getBeanInstance(CreditCard.class)); } + @Test // no @Deployment for this test public void testResolutionBeforeProcessStart() throws Exception { // assert that @BusinessProcessScoped beans can be resolved in the absence of an underlying process instance: assertNotNull(getBeanInstance(CreditCard.class)); } + @Test @Deployment public void testConversationalBeanStoreFlush() throws Exception { getBeanInstance(BusinessProcess.class).setVariable("testVariable", "testValue"); String pid = getBeanInstance(BusinessProcess.class).startProcessByKey("testConversationalBeanStoreFlush").getId(); - endConversationAndBeginNew(pid); ///////////////////////////////////////////// 2nd Conversation + getBeanInstance(BusinessProcess.class).associateExecutionById(pid); // assert that the variable assigned on the businessProcess bean is flushed assertEquals("testValue", runtimeService.getVariable(pid, "testVariable")); @@ -57,14 +63,13 @@ public class BusinessProcessContextTest extends CdiActivitiTestCase { taskService.complete(taskService.createTaskQuery().singleResult().getId()); } + @Test @Deployment public void testChangeProcessScopedBeanProperty() throws Exception { // resolve the creditcard bean (@BusinessProcessScoped) and set a value: getBeanInstance(CreditCard.class).setCreditcardNumber("123"); String pid = getBeanInstance(BusinessProcess.class).startProcessByKey("testConversationalBeanStoreFlush").getId(); - - endConversationAndBeginNew(); ///////////////////////////////////////////// 2nd Conversation getBeanInstance(BusinessProcess.class).startTask(taskService.createTaskQuery().singleResult().getId()); @@ -75,7 +80,7 @@ public class BusinessProcessContextTest extends CdiActivitiTestCase { // complete the task getBeanInstance(BusinessProcess.class).completeTask(); - endConversationAndBeginNew(pid); ///////////////////////////////////////////// 3rd Conversation + getBeanInstance(BusinessProcess.class).associateExecutionById(pid); // now assert that the value of creditcard is "321": assertEquals("321", getBeanInstance(CreditCard.class).getCreditcardNumber()); diff --git a/modules/activiti-cdi/src/test/java/org/activiti/cdi/impl/context/ThreadContextAssociationTest.java b/modules/activiti-cdi/src/test/java/org/activiti/cdi/test/impl/context/ThreadContextAssociationTest.java similarity index 67% rename from modules/activiti-cdi/src/test/java/org/activiti/cdi/impl/context/ThreadContextAssociationTest.java rename to modules/activiti-cdi/src/test/java/org/activiti/cdi/test/impl/context/ThreadContextAssociationTest.java index b53b8cd3b2c016a279102013e301b8586b84024c..5ea55ae7a5ca7488065ab26bd1547d8d01d48537 100644 --- a/modules/activiti-cdi/src/test/java/org/activiti/cdi/impl/context/ThreadContextAssociationTest.java +++ b/modules/activiti-cdi/src/test/java/org/activiti/cdi/test/impl/context/ThreadContextAssociationTest.java @@ -10,49 +10,22 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.activiti.cdi.impl.context; +package org.activiti.cdi.test.impl.context; import org.activiti.cdi.test.CdiActivitiTestCase; -import org.activiti.cdi.test.beans.ProcessScopedMessageBean; +import org.activiti.cdi.test.impl.beans.ProcessScopedMessageBean; import org.activiti.engine.test.Deployment; +import org.junit.Test; + +import static org.junit.Assert.*; /** * * @author Daniel Meyer */ public class ThreadContextAssociationTest extends CdiActivitiTestCase { - - @Override - public void beginConversation() { - // do not activate conversation - } - - @Override - public void endConversation() { - // do not deactivate conversation - } - - @Override - public void beginRequest() { - // do not activate - } - - @Override - public void endRequest() { - // do not deactivate - } - - @Override - public void beginSession() { - // do not activate - } - - @Override - public void endSession() { - // do not deactivate - } - + @Test @Deployment public void testBusinessProcessScopedWithJobExecutor() throws InterruptedException { String pid = runtimeService.startProcessInstanceByKey("processkey").getId(); diff --git a/modules/activiti-cdi/src/test/java/org/activiti/cdi/impl/el/ElTest.java b/modules/activiti-cdi/src/test/java/org/activiti/cdi/test/impl/el/ElTest.java similarity index 85% rename from modules/activiti-cdi/src/test/java/org/activiti/cdi/impl/el/ElTest.java rename to modules/activiti-cdi/src/test/java/org/activiti/cdi/test/impl/el/ElTest.java index 13328f084e481f4d91bef3b75ad88a384e8fe591..dde93dd4a5cfd9d048515b300c11008d3ff72499 100644 --- a/modules/activiti-cdi/src/test/java/org/activiti/cdi/impl/el/ElTest.java +++ b/modules/activiti-cdi/src/test/java/org/activiti/cdi/test/impl/el/ElTest.java @@ -10,17 +10,21 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.activiti.cdi.impl.el; +package org.activiti.cdi.test.impl.el; + +import static org.junit.Assert.assertEquals; import org.activiti.cdi.test.CdiActivitiTestCase; -import org.activiti.cdi.test.beans.MessageBean; +import org.activiti.cdi.test.impl.beans.MessageBean; import org.activiti.engine.test.Deployment; +import org.junit.Test; /** * @author Daniel Meyer */ public class ElTest extends CdiActivitiTestCase { + @Test @Deployment public void testSetBeanProperty() throws Exception { MessageBean messageBean = getBeanInstance(MessageBean.class); diff --git a/modules/activiti-cdi/src/test/java/org/activiti/cdi/impl/event/EventNotificationTest.java b/modules/activiti-cdi/src/test/java/org/activiti/cdi/test/impl/event/EventNotificationTest.java similarity index 77% rename from modules/activiti-cdi/src/test/java/org/activiti/cdi/impl/event/EventNotificationTest.java rename to modules/activiti-cdi/src/test/java/org/activiti/cdi/test/impl/event/EventNotificationTest.java index 0648c14e6cf816767be5bb5e40d1313d318e8ca0..7f489b01a2190632a6ea3962e5db018ef8408bf6 100644 --- a/modules/activiti-cdi/src/test/java/org/activiti/cdi/impl/event/EventNotificationTest.java +++ b/modules/activiti-cdi/src/test/java/org/activiti/cdi/test/impl/event/EventNotificationTest.java @@ -10,16 +10,21 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.activiti.cdi.impl.event; +package org.activiti.cdi.test.impl.event; import org.activiti.cdi.test.CdiActivitiTestCase; import org.activiti.engine.test.Deployment; +import org.junit.Test; + +import static org.junit.Assert.*; public class EventNotificationTest extends CdiActivitiTestCase { - @Deployment(resources = {"org/activiti/cdi/impl/event/EventNotificationTest.process1.bpmn20.xml"}) + @Test + @Deployment(resources = {"org/activiti/cdi/test/impl/event/EventNotificationTest.process1.bpmn20.xml"}) public void testReceiveAll() { TestEventListener listenerBean = getBeanInstance(TestEventListener.class); + listenerBean.reset(); // assert that the bean has received 0 events assertEquals(0, listenerBean.getEventsReceived().size()); @@ -29,12 +34,13 @@ public class EventNotificationTest extends CdiActivitiTestCase { assertEquals(11, listenerBean.getEventsReceived().size()); } + @Test @Deployment(resources = { - "org/activiti/cdi/impl/event/EventNotificationTest.process1.bpmn20.xml", - "org/activiti/cdi/impl/event/EventNotificationTest.process2.bpmn20.xml" }) + "org/activiti/cdi/test/impl/event/EventNotificationTest.process1.bpmn20.xml", + "org/activiti/cdi/test/impl/event/EventNotificationTest.process2.bpmn20.xml" }) public void testSelectEventsPerProcessDefinition() { TestEventListener listenerBean = getBeanInstance(TestEventListener.class); - + listenerBean.reset(); assertEquals(0, listenerBean.getEventsReceivedByKey().size()); //start the 2 processes @@ -45,10 +51,12 @@ public class EventNotificationTest extends CdiActivitiTestCase { assertEquals(11, listenerBean.getEventsReceivedByKey().size()); } - @Deployment(resources = {"org/activiti/cdi/impl/event/EventNotificationTest.process1.bpmn20.xml"}) + @Test + @Deployment(resources = {"org/activiti/cdi/test/impl/event/EventNotificationTest.process1.bpmn20.xml"}) public void testSelectEventsPerActivity() { TestEventListener listenerBean = getBeanInstance(TestEventListener.class); - + listenerBean.reset(); + assertEquals(0, listenerBean.getEndActivityService1()); assertEquals(0, listenerBean.getStartActivityService1()); assertEquals(0, listenerBean.getTakeTransitiont1()); diff --git a/modules/activiti-cdi/src/test/java/org/activiti/cdi/impl/event/TestEventListener.java b/modules/activiti-cdi/src/test/java/org/activiti/cdi/test/impl/event/TestEventListener.java similarity index 89% rename from modules/activiti-cdi/src/test/java/org/activiti/cdi/impl/event/TestEventListener.java rename to modules/activiti-cdi/src/test/java/org/activiti/cdi/test/impl/event/TestEventListener.java index 349b965295417047db6c435c145c939e8fa6f55c..59b5d9236364ed222557bdcd2934409c34b2c527 100644 --- a/modules/activiti-cdi/src/test/java/org/activiti/cdi/impl/event/TestEventListener.java +++ b/modules/activiti-cdi/src/test/java/org/activiti/cdi/test/impl/event/TestEventListener.java @@ -10,7 +10,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.activiti.cdi.impl.event; +package org.activiti.cdi.test.impl.event; import java.util.HashSet; import java.util.Set; @@ -26,6 +26,15 @@ import org.activiti.cdi.annotation.event.TakeTransition; @ApplicationScoped public class TestEventListener { + + public void reset() { + startActivityService1 = 0; + endActivityService1 = 0; + takeTransitiont1 = 0; + + eventsReceivedByKey.clear(); + eventsReceived.clear(); + } private final Set eventsReceivedByKey = new HashSet(); diff --git a/modules/activiti-cdi/src/test/java/org/activiti/cdi/impl/task/CdiTaskServiceTest.java b/modules/activiti-cdi/src/test/java/org/activiti/cdi/test/impl/task/CdiTaskServiceTest.java similarity index 80% rename from modules/activiti-cdi/src/test/java/org/activiti/cdi/impl/task/CdiTaskServiceTest.java rename to modules/activiti-cdi/src/test/java/org/activiti/cdi/test/impl/task/CdiTaskServiceTest.java index d7b0941be2fbdc84dfda0cf77a9f17a9a44e5ab9..7b7b21e152605c9053b32cd3e10c24c58740c321 100644 --- a/modules/activiti-cdi/src/test/java/org/activiti/cdi/impl/task/CdiTaskServiceTest.java +++ b/modules/activiti-cdi/src/test/java/org/activiti/cdi/test/impl/task/CdiTaskServiceTest.java @@ -1,11 +1,13 @@ -package org.activiti.cdi.impl.task; +package org.activiti.cdi.test.impl.task; import org.activiti.cdi.test.CdiActivitiTestCase; import org.activiti.engine.task.Task; +import org.junit.Test; public class CdiTaskServiceTest extends CdiActivitiTestCase { + @Test public void testClaimTask() { Task newTask = taskService.newTask(); taskService.saveTask(newTask); diff --git a/modules/activiti-cdi/src/test/java/org/activiti/cdi/test/ProcessEngineLookupForTestsuite.java b/modules/activiti-cdi/src/test/java/org/activiti/cdi/test/util/ProcessEngineLookupForTestsuite.java similarity index 77% rename from modules/activiti-cdi/src/test/java/org/activiti/cdi/test/ProcessEngineLookupForTestsuite.java rename to modules/activiti-cdi/src/test/java/org/activiti/cdi/test/util/ProcessEngineLookupForTestsuite.java index 7e23ecf116107711a9942364696f02ab0dbb12b0..b62edb1240b390022dfde5967d32400f841929d8 100644 --- a/modules/activiti-cdi/src/test/java/org/activiti/cdi/test/ProcessEngineLookupForTestsuite.java +++ b/modules/activiti-cdi/src/test/java/org/activiti/cdi/test/util/ProcessEngineLookupForTestsuite.java @@ -10,19 +10,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.activiti.cdi.test; - -import javax.enterprise.inject.Alternative; +package org.activiti.cdi.test.util; import org.activiti.cdi.spi.ProcessEngineLookup; import org.activiti.engine.ProcessEngine; +import org.activiti.engine.ProcessEngines; /** - * {@link Alternative} implementation of the {@link ProcessEngineLookup} - * -interface, providing access to the ProcessEngine built for unit-tests. - * - * @see CdiActivitiTestCase - * * @author Daniel Meyer */ public class ProcessEngineLookupForTestsuite implements ProcessEngineLookup { @@ -36,6 +30,9 @@ public class ProcessEngineLookupForTestsuite implements ProcessEngineLookup { @Override public ProcessEngine getProcessEngine() { + if(processEngine == null) { + processEngine = ProcessEngines.getDefaultProcessEngine(); + } return processEngine; } diff --git a/modules/activiti-cdi/src/test/java/org/activiti/cdi/test/beans/InjectProcessVariable.java b/modules/activiti-cdi/src/test/java/org/activiti/experimental/InjectProcessVariable.java similarity index 93% rename from modules/activiti-cdi/src/test/java/org/activiti/cdi/test/beans/InjectProcessVariable.java rename to modules/activiti-cdi/src/test/java/org/activiti/experimental/InjectProcessVariable.java index 18075e4dd6ed142b753bcac7dd4cf3a9dba6c0f1..840151eaac1462983cc40f7c5881ea8f98e51ed3 100644 --- a/modules/activiti-cdi/src/test/java/org/activiti/cdi/test/beans/InjectProcessVariable.java +++ b/modules/activiti-cdi/src/test/java/org/activiti/experimental/InjectProcessVariable.java @@ -10,12 +10,12 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.activiti.cdi.test.beans; - -import org.activiti.cdi.annotation.ProcessVariable; +package org.activiti.experimental; import javax.inject.Inject; +import org.activiti.cdi.annotation.ProcessVariable; + public class InjectProcessVariable { @Inject @ProcessVariable public Object testKeyString; diff --git a/modules/activiti-cdi/src/test/java/org/activiti/cdi/impl/context/ProcessVariablesTest.java b/modules/activiti-cdi/src/test/java/org/activiti/experimental/ProcessVariablesTest.java similarity index 88% rename from modules/activiti-cdi/src/test/java/org/activiti/cdi/impl/context/ProcessVariablesTest.java rename to modules/activiti-cdi/src/test/java/org/activiti/experimental/ProcessVariablesTest.java index 3094e3bf50af85a0feb62dde615bd8fdfb74a92a..5764c6a38d1ca1f5a885333d92ca0909bb73b3b4 100644 --- a/modules/activiti-cdi/src/test/java/org/activiti/cdi/impl/context/ProcessVariablesTest.java +++ b/modules/activiti-cdi/src/test/java/org/activiti/experimental/ProcessVariablesTest.java @@ -10,18 +10,23 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.activiti.cdi.impl.context; +package org.activiti.experimental; + +import static org.junit.Assert.assertEquals; import java.util.HashMap; import java.util.Map; import org.activiti.cdi.BusinessProcess; import org.activiti.cdi.test.CdiActivitiTestCase; -import org.activiti.cdi.test.beans.InjectProcessVariable; import org.activiti.engine.test.Deployment; +import org.junit.Ignore; +import org.junit.Test; public class ProcessVariablesTest extends CdiActivitiTestCase { + @Ignore + @Test @Deployment(resources = "org/activiti/cdi/BusinessProcessBeanTest.test.bpmn20.xml") public void testResolveString() { BusinessProcess businessProcess = getBeanInstance(BusinessProcess.class); diff --git a/modules/activiti-cdi/src/test/resources/META-INF/beans.xml b/modules/activiti-cdi/src/test/resources/META-INF/beans.xml deleted file mode 100644 index 10b5689462a0b4e420fcc53217342e400f53e373..0000000000000000000000000000000000000000 --- a/modules/activiti-cdi/src/test/resources/META-INF/beans.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - diff --git a/modules/activiti-cdi/src/test/resources/META-INF/services/org.activiti.cdi.spi.ProcessEngineLookup b/modules/activiti-cdi/src/test/resources/META-INF/services/org.activiti.cdi.spi.ProcessEngineLookup index cbf75ea0e03800c37e45c9a827dce9936d7761e6..61ace9aea8e48ad671c816cc3e9211e19a6ed3e8 100644 --- a/modules/activiti-cdi/src/test/resources/META-INF/services/org.activiti.cdi.spi.ProcessEngineLookup +++ b/modules/activiti-cdi/src/test/resources/META-INF/services/org.activiti.cdi.spi.ProcessEngineLookup @@ -1 +1 @@ -org.activiti.cdi.test.ProcessEngineLookupForTestsuite \ No newline at end of file +org.activiti.cdi.test.util.ProcessEngineLookupForTestsuite \ No newline at end of file diff --git a/modules/activiti-cdi/src/test/resources/org/activiti/cdi/BusinessProcessBeanTest.test.bpmn20.xml b/modules/activiti-cdi/src/test/resources/org/activiti/cdi/test/api/BusinessProcessBeanTest.test.bpmn20.xml similarity index 100% rename from modules/activiti-cdi/src/test/resources/org/activiti/cdi/BusinessProcessBeanTest.test.bpmn20.xml rename to modules/activiti-cdi/src/test/resources/org/activiti/cdi/test/api/BusinessProcessBeanTest.test.bpmn20.xml diff --git a/modules/activiti-cdi/src/test/resources/org/activiti/cdi/annotation/BusinessKeyTest.testBusinessKeyInjectable.bpmn20.xml b/modules/activiti-cdi/src/test/resources/org/activiti/cdi/test/api/annotation/BusinessKeyTest.testBusinessKeyInjectable.bpmn20.xml similarity index 100% rename from modules/activiti-cdi/src/test/resources/org/activiti/cdi/annotation/BusinessKeyTest.testBusinessKeyInjectable.bpmn20.xml rename to modules/activiti-cdi/src/test/resources/org/activiti/cdi/test/api/annotation/BusinessKeyTest.testBusinessKeyInjectable.bpmn20.xml diff --git a/modules/activiti-cdi/src/test/resources/org/activiti/cdi/annotation/CompleteTaskTest.bpmn20.xml b/modules/activiti-cdi/src/test/resources/org/activiti/cdi/test/api/annotation/CompleteTaskTest.bpmn20.xml similarity index 100% rename from modules/activiti-cdi/src/test/resources/org/activiti/cdi/annotation/CompleteTaskTest.bpmn20.xml rename to modules/activiti-cdi/src/test/resources/org/activiti/cdi/test/api/annotation/CompleteTaskTest.bpmn20.xml diff --git a/modules/activiti-cdi/src/test/resources/org/activiti/cdi/annotation/ProcessIdTest.testProcessIdInjectable.bpmn20.xml b/modules/activiti-cdi/src/test/resources/org/activiti/cdi/test/api/annotation/ProcessIdTest.testProcessIdInjectable.bpmn20.xml similarity index 100% rename from modules/activiti-cdi/src/test/resources/org/activiti/cdi/annotation/ProcessIdTest.testProcessIdInjectable.bpmn20.xml rename to modules/activiti-cdi/src/test/resources/org/activiti/cdi/test/api/annotation/ProcessIdTest.testProcessIdInjectable.bpmn20.xml diff --git a/modules/activiti-cdi/src/test/resources/org/activiti/cdi/annotation/StartProcessTest.bpmn20.xml b/modules/activiti-cdi/src/test/resources/org/activiti/cdi/test/api/annotation/StartProcessTest.bpmn20.xml similarity index 100% rename from modules/activiti-cdi/src/test/resources/org/activiti/cdi/annotation/StartProcessTest.bpmn20.xml rename to modules/activiti-cdi/src/test/resources/org/activiti/cdi/test/api/annotation/StartProcessTest.bpmn20.xml diff --git a/modules/activiti-cdi/src/test/resources/org/activiti/cdi/annotation/TaskIdTest.testTaskIdInjectable.bpmn20.xml b/modules/activiti-cdi/src/test/resources/org/activiti/cdi/test/api/annotation/TaskIdTest.testTaskIdInjectable.bpmn20.xml similarity index 100% rename from modules/activiti-cdi/src/test/resources/org/activiti/cdi/annotation/TaskIdTest.testTaskIdInjectable.bpmn20.xml rename to modules/activiti-cdi/src/test/resources/org/activiti/cdi/test/api/annotation/TaskIdTest.testTaskIdInjectable.bpmn20.xml diff --git a/modules/activiti-cdi/src/test/resources/org/activiti/cdi/impl/context/BusinessProcessContextTest.testChangeProcessScopedBeanProperty.bpmn20.xml b/modules/activiti-cdi/src/test/resources/org/activiti/cdi/test/impl/context/BusinessProcessContextTest.testChangeProcessScopedBeanProperty.bpmn20.xml similarity index 100% rename from modules/activiti-cdi/src/test/resources/org/activiti/cdi/impl/context/BusinessProcessContextTest.testChangeProcessScopedBeanProperty.bpmn20.xml rename to modules/activiti-cdi/src/test/resources/org/activiti/cdi/test/impl/context/BusinessProcessContextTest.testChangeProcessScopedBeanProperty.bpmn20.xml diff --git a/modules/activiti-cdi/src/test/resources/org/activiti/cdi/impl/context/BusinessProcessContextTest.testConversationalBeanStoreFlush.bpmn20.xml b/modules/activiti-cdi/src/test/resources/org/activiti/cdi/test/impl/context/BusinessProcessContextTest.testConversationalBeanStoreFlush.bpmn20.xml similarity index 100% rename from modules/activiti-cdi/src/test/resources/org/activiti/cdi/impl/context/BusinessProcessContextTest.testConversationalBeanStoreFlush.bpmn20.xml rename to modules/activiti-cdi/src/test/resources/org/activiti/cdi/test/impl/context/BusinessProcessContextTest.testConversationalBeanStoreFlush.bpmn20.xml diff --git a/modules/activiti-cdi/src/test/resources/org/activiti/cdi/impl/context/BusinessProcessContextTest.testResolution.bpmn20.xml b/modules/activiti-cdi/src/test/resources/org/activiti/cdi/test/impl/context/BusinessProcessContextTest.testResolution.bpmn20.xml similarity index 100% rename from modules/activiti-cdi/src/test/resources/org/activiti/cdi/impl/context/BusinessProcessContextTest.testResolution.bpmn20.xml rename to modules/activiti-cdi/src/test/resources/org/activiti/cdi/test/impl/context/BusinessProcessContextTest.testResolution.bpmn20.xml diff --git a/modules/activiti-cdi/src/test/resources/org/activiti/cdi/impl/context/ContextScopingTest.testFallbackToRequestContext.bpmn20.xml b/modules/activiti-cdi/src/test/resources/org/activiti/cdi/test/impl/context/ContextScopingTest.testFallbackToRequestContext.bpmn20.xml similarity index 100% rename from modules/activiti-cdi/src/test/resources/org/activiti/cdi/impl/context/ContextScopingTest.testFallbackToRequestContext.bpmn20.xml rename to modules/activiti-cdi/src/test/resources/org/activiti/cdi/test/impl/context/ContextScopingTest.testFallbackToRequestContext.bpmn20.xml diff --git a/modules/activiti-cdi/src/test/resources/org/activiti/cdi/impl/context/ThreadContextAssociationTest.testBusinessProcessScopedWithJobExecutor.bpmn20.xml b/modules/activiti-cdi/src/test/resources/org/activiti/cdi/test/impl/context/ThreadContextAssociationTest.testBusinessProcessScopedWithJobExecutor.bpmn20.xml similarity index 100% rename from modules/activiti-cdi/src/test/resources/org/activiti/cdi/impl/context/ThreadContextAssociationTest.testBusinessProcessScopedWithJobExecutor.bpmn20.xml rename to modules/activiti-cdi/src/test/resources/org/activiti/cdi/test/impl/context/ThreadContextAssociationTest.testBusinessProcessScopedWithJobExecutor.bpmn20.xml diff --git a/modules/activiti-cdi/src/test/resources/org/activiti/cdi/impl/el/ElTest.testSetBeanProperty.bpmn20.xml b/modules/activiti-cdi/src/test/resources/org/activiti/cdi/test/impl/el/ElTest.testSetBeanProperty.bpmn20.xml similarity index 100% rename from modules/activiti-cdi/src/test/resources/org/activiti/cdi/impl/el/ElTest.testSetBeanProperty.bpmn20.xml rename to modules/activiti-cdi/src/test/resources/org/activiti/cdi/test/impl/el/ElTest.testSetBeanProperty.bpmn20.xml diff --git a/modules/activiti-cdi/src/test/resources/org/activiti/cdi/impl/event/EventNotificationTest.process1.bpmn20.xml b/modules/activiti-cdi/src/test/resources/org/activiti/cdi/test/impl/event/EventNotificationTest.process1.bpmn20.xml similarity index 100% rename from modules/activiti-cdi/src/test/resources/org/activiti/cdi/impl/event/EventNotificationTest.process1.bpmn20.xml rename to modules/activiti-cdi/src/test/resources/org/activiti/cdi/test/impl/event/EventNotificationTest.process1.bpmn20.xml diff --git a/modules/activiti-cdi/src/test/resources/org/activiti/cdi/impl/event/EventNotificationTest.process2.bpmn20.xml b/modules/activiti-cdi/src/test/resources/org/activiti/cdi/test/impl/event/EventNotificationTest.process2.bpmn20.xml similarity index 100% rename from modules/activiti-cdi/src/test/resources/org/activiti/cdi/impl/event/EventNotificationTest.process2.bpmn20.xml rename to modules/activiti-cdi/src/test/resources/org/activiti/cdi/test/impl/event/EventNotificationTest.process2.bpmn20.xml diff --git a/pom.xml b/pom.xml index 0c90dc26e56332ff4714980e21c3949b707da680..d2398fc7aaccb5108ad7e017ca7592ab8796dd0e 100644 --- a/pom.xml +++ b/pom.xml @@ -402,22 +402,7 @@ lgpl 2.0.0 - - - javax.enterprise - cdi-api - 1.0-SP2 - - - javax.el - el-api - 2.2 - - - org.jboss.weld.se - weld-se - 1.1.4.Final - + com.fasterxml.uuid java-uuid-generator