You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ode.apache.org by lw...@apache.org on 2006/11/28 09:38:08 UTC

svn commit: r479946 - in /incubator/ode/trunk/dao-jpa-ojpa-derby/src/test/java/org/apache/ode/dao/jpa/test: InsertObjectTest.java SelectObjectTest.java

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();
+	}
+	
+}