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