1 package org.smartcomps.twister.engine.core.dynamic;
2
3 import junit.framework.TestCase;
4
5 import org.smartcomps.twister.engine.priv.core.dynamic.ProcessInstanceFactory;
6 import org.smartcomps.twister.engine.priv.core.dynamic.ProcessInstance;
7 import org.smartcomps.twister.engine.priv.core.dynamic.ReplyEC;
8 import org.smartcomps.twister.engine.priv.core.definition.*;
9 import org.smartcomps.twister.engine.priv.messaging.impl.DefaultMessageBrokerImpl;
10 import org.smartcomps.twister.engine.core.definition.TestProcess;
11 import org.smartcomps.twister.common.transaction.TransactionManager;
12 import org.smartcomps.twister.common.lifecycle.LifecycleManager;
13
14 import net.sf.hibernate.tool.hbm2ddl.SchemaExport;
15 import net.sf.hibernate.cfg.Configuration;
16
17 import java.util.Map;
18 import java.util.HashMap;
19
20 public class TestReplyEC extends TestCase {
21
22 public ReplyEC testReplyEC = null;
23
24 private TestProcess testProcess = new TestProcess();
25
26 protected void setUp() throws Exception {
27 LifecycleManager.getLifecycleManager().createResources();
28 LifecycleManager.getLifecycleManager().startResources();
29
30 SchemaExport schemaExport = new SchemaExport(new Configuration().configure());
31 schemaExport.create(true, true);
32
33 TransactionManager.beginTransaction();
34 testProcess.testCreateWithCorrelation();
35 }
36
37 protected void tearDown() throws Exception {
38 TransactionManager.commitTransaction();
39
40 LifecycleManager.getLifecycleManager().stopResources();
41 LifecycleManager.getLifecycleManager().destroyResources();
42 }
43
44 public void testExecuteWithInput() throws Exception {
45 Assign firstActivity = createReply("repVar");
46
47 Map corrProp = new HashMap();
48 corrProp.put(TestProcess.CORRELATION_PROP1, "2578");
49 corrProp.put(TestProcess.CORRELATION_PROP2, "12");
50
51 firstActivity.execute(TestProcess.CORRELATION_NAME, corrProp);
52
53 TransactionManager.commitTransaction();
54 TransactionManager.beginTransaction();
55
56 ProcessInstance createdInstance = ProcessInstanceFactory.findInstanceByCorrelation(TestProcess.CORRELATION_NAME, corrProp);
57 assertEquals("Process is not completed after execution ended", ProcessInstance.COMPLETED, createdInstance.getStatus());
58 assertNotNull("The message produced by the reply has not been received by the MessageBroker",
59 DefaultMessageBrokerImpl.getMessage("partner", "porttype", "operation"));
60 }
61
62 private Assign createReply(String variable) throws Exception {
63 Sequence sequence = (Sequence) ActivityFactory.createActivity(Sequence.class, TestProcess.testProcess);
64 Assign assign = (Assign) ActivityFactory.createActivity(Assign.class, sequence);
65 Assignment assignement = ActivityFactory.addAssignment(assign, Assignment.EXPRESSION, Assignment.VARIABLE_PART);
66 assignement.setFromFirstValue("0");
67 assignement.setToFirstValue("repVar");
68 assignement.setToSecondValue("main");
69
70 Reply reply = (Reply) ActivityFactory.createActivity(Reply.class, sequence);
71 reply.setOperation("operation");
72 reply.setPartner("partner");
73 reply.setPortType("porttype");
74 reply.setVariable(variable);
75
76 return assign;
77 }
78
79
80 }
This page was automatically generated by Maven