Author: lwaterman
Date: Tue Nov 28 00:38:08 2006
New Revision: 479946

URL: http://svn.apache.org/viewvc?view=rev&rev=479946
Log:
Add unit tests

Added:
    
incubator/ode/trunk/dao-jpa-ojpa-derby/src/test/java/org/apache/ode/dao/jpa/test/SelectObjectTest.java
Modified:
    
incubator/ode/trunk/dao-jpa-ojpa-derby/src/test/java/org/apache/ode/dao/jpa/test/InsertObjectTest.java

Modified: 
incubator/ode/trunk/dao-jpa-ojpa-derby/src/test/java/org/apache/ode/dao/jpa/test/InsertObjectTest.java
URL: 
http://svn.apache.org/viewvc/incubator/ode/trunk/dao-jpa-ojpa-derby/src/test/java/org/apache/ode/dao/jpa/test/InsertObjectTest.java?view=diff&rev=479946&r1=479945&r2=479946
==============================================================================
--- 
incubator/ode/trunk/dao-jpa-ojpa-derby/src/test/java/org/apache/ode/dao/jpa/test/InsertObjectTest.java
 (original)
+++ 
incubator/ode/trunk/dao-jpa-ojpa-derby/src/test/java/org/apache/ode/dao/jpa/test/InsertObjectTest.java
 Tue Nov 28 00:38:08 2006
@@ -1,22 +1,45 @@
 package org.apache.ode.dao.jpa.test;
 
+import java.io.IOException;
+import java.util.Calendar;
 import java.util.Collection;
+import java.util.GregorianCalendar;
 
 import javax.persistence.EntityManager;
 import javax.persistence.EntityManagerFactory;
 import javax.persistence.Persistence;
+import javax.xml.namespace.QName;
 
+import org.apache.ode.bpel.common.CorrelationKey;
+import org.apache.ode.bpel.dao.ActivityRecoveryDAO;
 import org.apache.ode.bpel.dao.BpelDAOConnection;
+import org.apache.ode.bpel.dao.CorrelationSetDAO;
+import org.apache.ode.bpel.dao.CorrelatorDAO;
+import org.apache.ode.bpel.dao.MessageDAO;
 import org.apache.ode.bpel.dao.MessageExchangeDAO;
+import org.apache.ode.bpel.dao.PartnerLinkDAO;
+import org.apache.ode.bpel.dao.ProcessDAO;
+import org.apache.ode.bpel.dao.ProcessInstanceDAO;
+import org.apache.ode.bpel.dao.ScopeDAO;
+import org.apache.ode.bpel.dao.ScopeStateEnum;
+import org.apache.ode.bpel.dao.XmlDataDAO;
 import org.apache.ode.dao.jpa.ojpa.*;
+import org.apache.ode.utils.DOMUtils;
 import org.apache.openjpa.persistence.ArgumentException;
+import org.xml.sax.SAXException;
 
 import junit.framework.TestCase;
 
 public class InsertObjectTest extends TestCase {
        
        private EntityManager em;
+       private static final String TEST_NS = "http://org.apache.ode.jpa.test";;
+       private static final String CORRELATOR_ID1 = "testCorrelator1";
+       private static final String CORRELATOR_ID2 = "testCorrelator2";
+       private static final Calendar cal = new GregorianCalendar();
 
+       
+       
        @Override
        protected void setUp() throws Exception {
                
@@ -34,21 +57,18 @@
        
        public void testStart() throws Exception {
                
-               BPELDAOConnectionFactoryImpl factory = new 
BPELDAOConnectionFactoryImpl();
+               BPELDAOConnectionFactoryImpl factory = new 
BPELDAOConnectionFactoryImpl(em);
                BpelDAOConnection conn = factory.getConnection();
                
+               ProcessDAO p1 = createProcess(conn,"testPID1","testType");
+               ProcessInstanceDAO pi1 = createProcessInstance(p1, 
CORRELATOR_ID1);
+               
                
-               try {
                em.getTransaction().begin();
                em.persist(conn);
                                
                em.flush();
                em.getTransaction().commit();
-               } catch (Exception e) {
-                       e.printStackTrace();
-                       fail();
-               }
-               
                
        }
 
@@ -57,9 +77,101 @@
                em.close();
        }
        
-       private void createMessageExchange(BpelDAOConnection conn ) {
-               MessageExchangeDAO me = conn.createMessageExchange('0');
+       private MessageExchangeDAO createMessageExchange(ProcessDAO p, 
ProcessInstanceDAO pi, PartnerLinkDAO pl ) throws SAXException, IOException {
+               MessageExchangeDAO me = 
pi.getConnection().createMessageExchange('0');
+               
+               me.setCallee(new QName(TEST_NS,"testCallee"));
+               me.setChannel("testChannel");
+               me.setCorrelationId("testCorrelationId");
+               me.setCorrelationStatus("testCorrelationStatus");
+               me.setEPR(DOMUtils.stringToDOM("<testEPR>EPR</testEPR>"));
+               me.setFault("testFault");
+               me.setFaultExplanation("testFaultExplanation");
+               me.setInstance(pi);
+               me.setOperation("testOperation");
+               me.setPartnerLink(pl);
+               me.setPartnerLinkModelId(1);
+               me.setPattern("testPattern");
+               me.setPortType(new QName(TEST_NS,"testPortType"));
+               me.setProcess(p);
+               me.setProperty("testProp1Key", "testProp1");
+               me.setProperty("testProp2Key", "testProp2");
+               me.setRequest(createMessage(me,"testRequest"));
+               me.setResponse(createMessage(me,"testResponse"));
+               me.setStatus("testStatus");
+               
+               return me;
        }
        
+       private MessageDAO createMessage(MessageExchangeDAO me, String name) 
throws SAXException, IOException {
+               MessageDAO m = me.createMessage(new QName(TEST_NS,name));
+               
+               m.setType(new QName(TEST_NS,name));
+               m.setData(DOMUtils.stringToDOM("<testData>some test 
data</testData>"));
+               
+               return m;
+       }
+       
+       private ProcessDAO createProcess(BpelDAOConnection conn, String pid, 
String type) {
+               ProcessDAO p = null;
+               
+               p = conn.createProcess(new QName(TEST_NS,pid), new 
QName(TEST_NS,type));
+               p.addCorrelator(CORRELATOR_ID1);
+               p.addCorrelator(CORRELATOR_ID2);
+               
+               
+               return p;
+       }
+       
+       private ProcessInstanceDAO createProcessInstance(ProcessDAO process, 
String correlator_id) throws SAXException, IOException {
+               ProcessInstanceDAO pi = null;
+               String[] actions = { "action1","action2" };
+               String[] correlationKeys = { "key1", "key2" };
+               CorrelationKey key1 = new CorrelationKey(1,correlationKeys);
+               CorrelationKey key2 = new CorrelationKey(2,correlationKeys);
+               CorrelationKey[] corrkeys = {key1,key2}; 
+               QName[] names = { new QName(TEST_NS,"name1"), new 
QName(TEST_NS,"name2") };
+               
+               pi = 
process.createInstance(process.getCorrelator(correlator_id));
+               
+               pi.setExecutionState(new String("test execution 
state").getBytes());
+               pi.setFault(new QName(TEST_NS,"testFault"), "testExplanation", 
1, 1, DOMUtils.stringToDOM("<testFaultMessage>testMessage</testFaultMessage>"));
+               pi.setLastActiveTime(cal.getTime());
+               pi.setState((short) 1);
+               
+               pi.createActivityRecovery("testChannel1", 3, "testReason1", 
cal.getTime(), DOMUtils.stringToDOM("<testData>testData1</testData>"), actions, 
2);
+               pi.createActivityRecovery("testChannel2", 4, "testReason2", 
cal.getTime(), DOMUtils.stringToDOM("<testData>testData2</testData>"), actions, 
2);
+               
+               ScopeDAO root = pi.createScope(null, "Root", 1);
+               root.setState(ScopeStateEnum.ACTIVE);
+               ScopeDAO child1 = pi.createScope(root, "Child1", 2);
+               child1.setState(ScopeStateEnum.ACTIVE);
+               XmlDataDAO var1 = child1.getVariable("var1");
+               var1.set(DOMUtils.stringToDOM("<testData>testData</testData>"));
+               var1.setProperty("key1", "prop1");
+               var1.setProperty("key2", "prop2");
+               XmlDataDAO var2 = child1.getVariable("var2");
+               var2.set(DOMUtils.stringToDOM("<testData>testData</testData>"));
+               var2.setProperty("key1", "prop1");
+               var2.setProperty("key2", "prop2");
+               
+               CorrelationSetDAO cs1 = 
child1.getCorrelationSet("TestCorrelationSet1");
+               cs1.setValue(names,key1);
+               
+               PartnerLinkDAO pl1 = child1.createPartnerLink(1, "Test 
PartnerLink1", "MyRole1", "PartnerRole1");
+               
pl1.setMyEPR(DOMUtils.stringToDOM("<testEPR>testMyEPR</testEPR>"));
+               pl1.setMyRoleServiceName(new QName(TEST_NS,"testRoleService"));
+               pl1.setMySessionId("TestMySessionID");
+               
pl1.setPartnerEPR(DOMUtils.stringToDOM("<testEPR>testPartnerEPR</testEPR>"));
+               pl1.setPartnerSessionId("TestPartnerSessionID");
+               
+               MessageExchangeDAO mex = createMessageExchange(process,pi,pl1);
+               
+               CorrelatorDAO corr1 = process.getCorrelator(CORRELATOR_ID1);
+               corr1.addRoute("testRoute", pi, 1, key1);
+               corr1.enqueueMessage(mex, corrkeys);
+               
+               return pi;
+       }
 
 }

Added: 
incubator/ode/trunk/dao-jpa-ojpa-derby/src/test/java/org/apache/ode/dao/jpa/test/SelectObjectTest.java
URL: 
http://svn.apache.org/viewvc/incubator/ode/trunk/dao-jpa-ojpa-derby/src/test/java/org/apache/ode/dao/jpa/test/SelectObjectTest.java?view=auto&rev=479946
==============================================================================
--- 
incubator/ode/trunk/dao-jpa-ojpa-derby/src/test/java/org/apache/ode/dao/jpa/test/SelectObjectTest.java
 (added)
+++ 
incubator/ode/trunk/dao-jpa-ojpa-derby/src/test/java/org/apache/ode/dao/jpa/test/SelectObjectTest.java
 Tue Nov 28 00:38:08 2006
@@ -0,0 +1,51 @@
+package org.apache.ode.dao.jpa.test;
+
+import javax.persistence.EntityManager;
+import javax.persistence.EntityManagerFactory;
+import javax.persistence.Persistence;
+import javax.persistence.Query;
+
+import org.apache.ode.bpel.dao.BpelDAOConnection;
+import org.apache.ode.dao.jpa.ojpa.BPELDAOConnectionFactoryImpl;
+
+import junit.framework.TestCase;
+
+public class SelectObjectTest extends TestCase {
+       
+       private EntityManager em;
+
+       @Override
+       protected void setUp() throws Exception {
+               
+               try {
+                       EntityManagerFactory emf = 
Persistence.createEntityManagerFactory("ode-unit-test");
+                       em = emf.createEntityManager();
+               
+               } catch ( Exception e ) {
+                       e.printStackTrace();
+                       fail();
+               }
+               
+               
+       }
+       
+       public void testGetObject() throws Exception {
+               
+               BPELDAOConnectionFactoryImpl factory = new 
BPELDAOConnectionFactoryImpl(em);
+               BpelDAOConnection conn1 = factory.getConnection();
+               Long connId1 = factory.getConnectionId(conn1);
+               BpelDAOConnection conn2 = factory.getConnection(connId1 + 5);
+               Long connId2 = factory.getConnectionId(conn2);
+               
+               if ( conn1 != null && conn2 != null      ) {
+                       System.out.println("got conn1:" + connId1);
+                       System.out.println("got conn2:" + connId2);
+               }
+       }
+
+       @Override
+       protected void tearDown() throws Exception {
+               em.close();
+       }
+       
+}


Reply via email to