Added: incubator/ode/trunk/scheduler-simple/src/test/java/org/apache/ode/scheduler/simple/JdbcDelegateTest.java URL: http://svn.apache.org/viewvc/incubator/ode/trunk/scheduler-simple/src/test/java/org/apache/ode/scheduler/simple/JdbcDelegateTest.java?view=auto&rev=552607 ============================================================================== --- incubator/ode/trunk/scheduler-simple/src/test/java/org/apache/ode/scheduler/simple/JdbcDelegateTest.java (added) +++ incubator/ode/trunk/scheduler-simple/src/test/java/org/apache/ode/scheduler/simple/JdbcDelegateTest.java Mon Jul 2 15:11:36 2007 @@ -0,0 +1,136 @@ +package org.apache.ode.scheduler.simple; + +import java.util.HashMap; +import java.util.List; + +import org.apache.ode.scheduler.simple.DatabaseDelegate; +import org.apache.ode.scheduler.simple.Job; + + +import junit.framework.TestCase; + +/** + * + * Test of the JDBC delegate. + * + * @author Maciej Szefler ( m s z e f l e r @ g m a i l . c o m ) + */ +public class JdbcDelegateTest extends TestCase { + + private DelegateSupport _ds; + private DatabaseDelegate _del; + + public void setUp() throws Exception { + _ds = new DelegateSupport(); +// _del = _ds.delegate(); + } + + + public void testGetNodeIds() throws Exception { + // should have no node ids in the db, empty list (not null) + List<String> nids = _del.getNodeIds(); + assertNotNull(nids); + assertEquals(0, nids.size()); + + // try for one nodeid + _del.insertJob(new Job(0L,true,new HashMap<String, Object>()), "abc", true); + nids = _del.getNodeIds(); + assertEquals(1, nids.size()); + assertTrue(nids.contains("abc")); + + // check that dups are ignored. + _del.insertJob(new Job(0L,true,new HashMap<String, Object>()), "abc", true); + nids = _del.getNodeIds(); + assertEquals(1, nids.size()); + assertTrue(nids.contains("abc")); + + // add another nodeid, + _del.insertJob(new Job(0L,true,new HashMap<String, Object>()), "123", true); + nids = _del.getNodeIds(); + assertEquals(2, nids.size()); + assertTrue(nids.contains("abc")); + assertTrue(nids.contains("123")); + } + + public void testReassign() throws Exception { + _del.insertJob(new Job(100L,"j1",true,new HashMap<String, Object>()), "n1", false); + _del.insertJob(new Job(200L,"j2",true,new HashMap<String, Object>()), "n2", false); + + assertEquals(1,_del.updateReassign("n1","n2")); + List<Job> jobs = _del.dequeueImmediate("n2", 400L, 1000); + assertEquals(2,jobs.size()); + } + + public void testScheduleImmediateTimeFilter() throws Exception { + _del.insertJob(new Job(100L,"j1",true,new HashMap<String, Object>()), "n1", false); + _del.insertJob(new Job(200L,"j2",true,new HashMap<String, Object>()), "n1", false); + + + List<Job> jobs = _del.dequeueImmediate("n1", 150L, 1000); + assertNotNull(jobs); + assertEquals(1, jobs.size()); + assertEquals("j1",jobs.get(0).jobId); + jobs = _del.dequeueImmediate("n1", 250L, 1000); + assertNotNull(jobs); + assertEquals(1, jobs.size()); + assertEquals("j2",jobs.get(0).jobId); + } + + public void testScheduleImmediateMaxRows() throws Exception { + _del.insertJob(new Job(100L,"j1",true,new HashMap<String, Object>()), "n1", false); + _del.insertJob(new Job(200L,"j2",true,new HashMap<String, Object>()), "n1", false); + + List<Job> jobs = _del.dequeueImmediate("n1", 201L, 1); + assertNotNull(jobs); + assertEquals(1, jobs.size()); + assertEquals("j1",jobs.get(0).jobId); + jobs = _del.dequeueImmediate("n1", 250L, 1000); + assertNotNull(jobs); + assertEquals(1, jobs.size()); + assertEquals("j2",jobs.get(0).jobId); + } + + public void testScheduleImmediateNodeFilter() throws Exception { + _del.insertJob(new Job(100L,"j1",true,new HashMap<String, Object>()), "n1", false); + _del.insertJob(new Job(200L,"j2",true,new HashMap<String, Object>()), "n2", false); + + List<Job> jobs = _del.dequeueImmediate("n2", 300L, 1000); + assertNotNull(jobs); + assertEquals(1, jobs.size()); + assertEquals("j2",jobs.get(0).jobId); + } + + public void testDeleteJob() throws Exception { + _del.insertJob(new Job(100L,"j1",true,new HashMap<String, Object>()), "n1", false); + _del.insertJob(new Job(200L,"j2",true,new HashMap<String, Object>()), "n2", false); + + // try deleting, wrong jobid -- del should fail + assertFalse(_del.deleteJob("j1x", "n1")); + assertEquals(2,_del.getNodeIds().size()); + + // wrong nodeid + assertFalse(_del.deleteJob("j1", "n1x")); + assertEquals(2,_del.getNodeIds().size()); + + // now do the correct job + assertTrue(_del.deleteJob("j1", "n1")); + assertEquals(1,_del.getNodeIds().size()); + } + + public void testUpgrade() throws Exception { + for (int i = 0; i < 200; ++i) + _del.insertJob(new Job(i ,"j" +i,true,new HashMap<String, Object>()), null, false); + + int n1 = _del.updateAssignToNode("n1", 0, 3, 100); + int n2 = _del.updateAssignToNode("n2", 1, 3, 100); + int n3 = _del.updateAssignToNode("n3", 2, 3, 100); + // Make sure we got 100 upgraded nodes + assertEquals(100,n1+n2+n3); + + // now do scheduling. + assertEquals(n1,_del.dequeueImmediate("n1", 10000L, 1000).size()); + assertEquals(n2,_del.dequeueImmediate("n2", 10000L, 1000).size()); + assertEquals(n3,_del.dequeueImmediate("n3", 10000L, 1000).size()); + } + +}
Propchange: incubator/ode/trunk/scheduler-simple/src/test/java/org/apache/ode/scheduler/simple/JdbcDelegateTest.java ------------------------------------------------------------------------------ svn:eol-style = native Added: incubator/ode/trunk/scheduler-simple/src/test/java/org/apache/ode/scheduler/simple/SchedulerThreadTest.java URL: http://svn.apache.org/viewvc/incubator/ode/trunk/scheduler-simple/src/test/java/org/apache/ode/scheduler/simple/SchedulerThreadTest.java?view=auto&rev=552607 ============================================================================== --- incubator/ode/trunk/scheduler-simple/src/test/java/org/apache/ode/scheduler/simple/SchedulerThreadTest.java (added) +++ incubator/ode/trunk/scheduler-simple/src/test/java/org/apache/ode/scheduler/simple/SchedulerThreadTest.java Mon Jul 2 15:11:36 2007 @@ -0,0 +1,99 @@ +package org.apache.ode.scheduler.simple; + +import java.util.ArrayList; +import java.util.List; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.concurrent.atomic.AtomicInteger; + +import org.apache.ode.scheduler.simple.SchedulerThread; +import org.apache.ode.scheduler.simple.Task; +import org.apache.ode.scheduler.simple.TaskRunner; + + +import junit.framework.TestCase; + +/** + * Test of SchedulerThread. + * + * @author Maciej Szefler ( m s z e f l e r @ g m a i l . c o m ) + */ +public class SchedulerThreadTest extends TestCase implements TaskRunner { + + static final long SCHED_TOLERANCE = 40; + SchedulerThread _st; + + List<TR> _tasks = new ArrayList<TR>(100); + + public void setUp() throws Exception { + _st = new SchedulerThread(this); + } + + public void testSchedulingResolution() throws Exception { + _st.start(); + long schedtime = System.currentTimeMillis() + 300; + _st.enqueue(new Task(schedtime)); + Thread.sleep(600); + assertEquals(1,_tasks.size()); + assertTrue(_tasks.get(0).time < schedtime + SCHED_TOLERANCE / 2); + assertTrue(_tasks.get(0).time > schedtime - SCHED_TOLERANCE / 2); + } + + public void testStartStop() throws Exception { + _st.start(); + long schedtime = System.currentTimeMillis() + 500; + _st.enqueue(new Task(schedtime)); + _st.stop(); + Thread.sleep(600); + assertEquals(0,_tasks.size()); + _st.start(); + Thread.sleep(SCHED_TOLERANCE); + assertEquals(1,_tasks.size()); + } + + public void testParallelEnqueue() throws Exception { + _st.start(); + final long startTime = System.currentTimeMillis() + 100; + final AtomicInteger ai = new AtomicInteger(300); + // enque in reverse order + Runnable run = new Runnable() { + public void run() { + Task tsk = new Task(startTime + ai.getAndDecrement() * 5); + _st.enqueue(tsk); + } + }; + + ExecutorService es = Executors.newFixedThreadPool(50); + for (int i = 0; i < 300; ++i) + es.execute(run); + + Thread.sleep(300 + 300 * 5); + assertEquals(300,_tasks.size()); + // Make sure they got scheduled in the right order + + for (int i = 0; i < 299; ++i) + assertTrue(_tasks.get(i).task.schedDate < _tasks.get(i+1).task.schedDate); + + // Check scheduling tolerance + for (TR tr : _tasks) { + assertTrue(tr.time < tr.task.schedDate + SCHED_TOLERANCE / 2); + assertTrue(tr.time > tr.task.schedDate - SCHED_TOLERANCE / 2); + } + } + + public void runTask(Task task) { + synchronized(_tasks) { + _tasks.add(new TR(System.currentTimeMillis(),task)); + } + } + + + class TR { + long time; + Task task; + TR(long time, Task task) { + this.time = time; + this.task = task; + } + } +} Propchange: incubator/ode/trunk/scheduler-simple/src/test/java/org/apache/ode/scheduler/simple/SchedulerThreadTest.java ------------------------------------------------------------------------------ svn:eol-style = native Added: incubator/ode/trunk/scheduler-simple/src/test/java/org/apache/ode/scheduler/simple/SimpleSchedulerTest.java URL: http://svn.apache.org/viewvc/incubator/ode/trunk/scheduler-simple/src/test/java/org/apache/ode/scheduler/simple/SimpleSchedulerTest.java?view=auto&rev=552607 ============================================================================== --- incubator/ode/trunk/scheduler-simple/src/test/java/org/apache/ode/scheduler/simple/SimpleSchedulerTest.java (added) +++ incubator/ode/trunk/scheduler-simple/src/test/java/org/apache/ode/scheduler/simple/SimpleSchedulerTest.java Mon Jul 2 15:11:36 2007 @@ -0,0 +1,238 @@ +package org.apache.ode.scheduler.simple; + +import java.util.ArrayList; + +import javax.transaction.TransactionManager; + +import junit.framework.TestCase; + +import org.apache.ode.bpel.iapi.Scheduler.JobInfo; +import org.apache.ode.bpel.iapi.Scheduler.JobProcessor; +import org.apache.ode.bpel.iapi.Scheduler.JobProcessorException; +import org.apache.ode.scheduler.simple.SimpleScheduler; + +public class SimpleSchedulerTest extends TestCase implements JobProcessor { + + DelegateSupport _ds; + + SimpleScheduler _scheduler; + + ArrayList<JobInfo> _jobs; + ArrayList<JobInfo> _commit; + + TransactionManager _txm; + + public void onScheduledJob(final JobInfo jobInfo) throws JobProcessorException { + } + + /* + Jotm _jotm; + + public void setUp() throws Exception { + _jotm = new Jotm(true, false); + _txm = _jotm.getTransactionManager(); + _ds = new DelegateSupport(); + _ds.truncate(); + + _scheduler = newScheduler("n1"); + _jobs = new ArrayList<JobInfo>(100); + _commit = new ArrayList<JobInfo>(100); + } + + public void tearDown() throws Exception { + _scheduler.shutdown(); + + } + + public void testConcurrentExec() throws Exception { + _scheduler.start(); + _txm.begin(); + String jobId; + try { + jobId = _scheduler.schedulePersistedJob(newDetail("123"), new Date(System.currentTimeMillis() + 200)); + Thread.sleep(100); + // Make sure we don't schedule until commit. + assertEquals(0, _jobs.size()); + } finally { + _txm.commit(); + } + // Delete from DB + assertEquals(true,_ds.delegate().deleteJob(jobId, "n1")); + // Wait for the job to be execed. + Thread.sleep(250); + // Should execute job, + assertEquals(1, _jobs.size()); + // But should not commit. + assertEquals(0, _commit.size()); + } + + public void testImmediateScheduling() throws Exception { + _scheduler.start(); + _txm.begin(); + try { + _scheduler.schedulePersistedJob(newDetail("123"), new Date()); + Thread.sleep(100); + // Make sure we don't schedule until commit. + assertEquals(0, _jobs.size()); + } finally { + _txm.commit(); + } + Thread.sleep(100); + assertEquals(1, _jobs.size()); + } + + public void testStartStop() throws Exception { + _scheduler.start(); + _txm.begin(); + try { + for (int i = 0; i < 10; ++i) + _scheduler.schedulePersistedJob(newDetail("123"), new Date(System.currentTimeMillis() + (i * 100))); + } finally { + _txm.commit(); + } + Thread.sleep(100); + _scheduler.stop(); + int jobs = _jobs.size(); + assertTrue(jobs > 0); + assertTrue(jobs < 10); + Thread.sleep(200); + assertEquals(jobs, _jobs.size()); + _scheduler.start(); + Thread.sleep(1000); + assertEquals(10, _jobs.size()); + } + + public void testNearFutureScheduling() throws Exception { + // speed things up a bit to hit the right code paths + _scheduler.setNearFutureInterval(10000); + _scheduler.setImmediateInterval(5000); + _scheduler.start(); + + _txm.begin(); + try { + _scheduler.schedulePersistedJob(newDetail("123"), new Date(System.currentTimeMillis() + 7500)); + } finally { + _txm.commit(); + } + + Thread.sleep(7500); + assertEquals(1, _jobs.size()); + } + + public void testFarFutureScheduling() throws Exception { + // speed things up a bit to hit the right code paths + _scheduler.setNearFutureInterval(7000); + _scheduler.setImmediateInterval(3000); + _scheduler.start(); + + _txm.begin(); + try { + _scheduler.schedulePersistedJob(newDetail("123"), new Date(System.currentTimeMillis() + 7500)); + } finally { + _txm.commit(); + } + + Thread.sleep(7500); + assertEquals(1, _jobs.size()); + } + + public void testRecovery() throws Exception { + // speed things up a bit to hit the right code paths + _scheduler.setNearFutureInterval(2000); + _scheduler.setImmediateInterval(1000); + _scheduler.setStaleInterval(500); + + _txm.begin(); + try { + _scheduler.schedulePersistedJob(newDetail("immediate"), new Date(System.currentTimeMillis())); + _scheduler.schedulePersistedJob(newDetail("near"), new Date(System.currentTimeMillis() + 1100)); + _scheduler.schedulePersistedJob(newDetail("far"), new Date(System.currentTimeMillis() + 2500)); + } finally { + _txm.commit(); + } + + _scheduler = newScheduler("n3"); + _scheduler.setNearFutureInterval(2000); + _scheduler.setImmediateInterval(1000); + _scheduler.setStaleInterval(1000); + _scheduler.start(); + Thread.sleep(4000); + assertEquals(3, _jobs.size()); + } + + public void testRecoverySuppressed() throws Exception { + // speed things up a bit to hit the right code paths + _scheduler.setNearFutureInterval(2000); + _scheduler.setImmediateInterval(1000); + _scheduler.setStaleInterval(500); + + _txm.begin(); + try { + _scheduler.schedulePersistedJob(newDetail("immediate"), new Date(System.currentTimeMillis())); + _scheduler.schedulePersistedJob(newDetail("near"), new Date(System.currentTimeMillis() + 1100)); + _scheduler.schedulePersistedJob(newDetail("far"), new Date(System.currentTimeMillis() + 2500)); + } finally { + _txm.commit(); + } + + _scheduler = newScheduler("n3"); + _scheduler.setNearFutureInterval(2000); + _scheduler.setImmediateInterval(1000); + _scheduler.setStaleInterval(1000); + _scheduler.start(); + for (int i = 0; i < 40; ++i) { + _scheduler.updateHeartBeat("n1"); + Thread.sleep(100); + } + + _scheduler.stop(); + + assertEquals(0, _jobs.size()); + } + + public void onScheduledJob(final JobInfo jobInfo) throws JobProcessorException { + synchronized (_jobs) { + _jobs.add(jobInfo); + } + + try { + _txm.getTransaction().registerSynchronization(new Synchronization() { + + public void afterCompletion(int arg0) { + if (arg0 == Status.STATUS_COMMITTED) + _commit.add(jobInfo); + } + + public void beforeCompletion() { + // TODO Auto-generated method stub + + } + + }); + } catch (IllegalStateException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } catch (RollbackException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } catch (SystemException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + + } + + Map<String, Object> newDetail(String x) { + HashMap<String, Object> det = new HashMap<String, Object>(); + det.put("foo", x); + return det; + } + + private SimpleScheduler newScheduler(String nodeId) { + SimpleScheduler scheduler = new SimpleScheduler(nodeId, _ds.delegate()); + scheduler.setJobProcessor(this); + scheduler.setTransactionManager(_txm); + return scheduler; + } + */ +} Propchange: incubator/ode/trunk/scheduler-simple/src/test/java/org/apache/ode/scheduler/simple/SimpleSchedulerTest.java ------------------------------------------------------------------------------ svn:eol-style = native Added: incubator/ode/trunk/scheduler-simple/src/test/resources/HelloWorld2/HelloWorld2.bpel URL: http://svn.apache.org/viewvc/incubator/ode/trunk/scheduler-simple/src/test/resources/HelloWorld2/HelloWorld2.bpel?view=auto&rev=552607 ============================================================================== --- incubator/ode/trunk/scheduler-simple/src/test/resources/HelloWorld2/HelloWorld2.bpel (added) +++ incubator/ode/trunk/scheduler-simple/src/test/resources/HelloWorld2/HelloWorld2.bpel Mon Jul 2 15:11:36 2007 @@ -0,0 +1,49 @@ +<process name="HelloWorld2" + targetNamespace="http://ode/bpel/unit-test" + xmlns:bpws="http://schemas.xmlsoap.org/ws/2004/03/business-process/" + xmlns="http://schemas.xmlsoap.org/ws/2004/03/business-process/" + xmlns:tns="http://ode/bpel/unit-test" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" + xmlns:test="http://ode/bpel/unit-test.wsdl"> + + <import location="HelloWorld2.wsdl" + namespace="http://ode/bpel/unit-test.wsdl" + importType="http://schemas.xmlsoap.org/wsdl/" /> + + <partnerLinks> + <partnerLink name="helloPartnerLink" + partnerLinkType="test:HelloPartnerLinkType" + myRole="me" /> + </partnerLinks> + + <variables> + <variable name="myVar" messageType="test:HelloMessage"/> + <variable name="tmpVar" type="xsd:string"/> + </variables> + + <sequence> + <receive + name="start" + partnerLink="helloPartnerLink" + portType="test:HelloPortType" + operation="hello" + variable="myVar" + createInstance="yes"/> + + <assign name="assign1"> + <copy> + <from variable="myVar" part="TestPart"/> + <to variable="tmpVar"/> + </copy> + <copy> + <from>concat($tmpVar,' World')"</from> + <to variable="myVar" part="TestPart"/> + </copy> + </assign> + <reply name="end" + partnerLink="helloPartnerLink" + portType="test:HelloPortType" + operation="hello" + variable="myVar"/> + </sequence> +</process> Added: incubator/ode/trunk/scheduler-simple/src/test/resources/HelloWorld2/HelloWorld2.cbp URL: http://svn.apache.org/viewvc/incubator/ode/trunk/scheduler-simple/src/test/resources/HelloWorld2/HelloWorld2.cbp?view=auto&rev=552607 ============================================================================== Binary file - no diff available. Propchange: incubator/ode/trunk/scheduler-simple/src/test/resources/HelloWorld2/HelloWorld2.cbp ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: incubator/ode/trunk/scheduler-simple/src/test/resources/HelloWorld2/HelloWorld2.wsdl URL: http://svn.apache.org/viewvc/incubator/ode/trunk/scheduler-simple/src/test/resources/HelloWorld2/HelloWorld2.wsdl?view=auto&rev=552607 ============================================================================== --- incubator/ode/trunk/scheduler-simple/src/test/resources/HelloWorld2/HelloWorld2.wsdl (added) +++ incubator/ode/trunk/scheduler-simple/src/test/resources/HelloWorld2/HelloWorld2.wsdl Mon Jul 2 15:11:36 2007 @@ -0,0 +1,51 @@ +<?xml version="1.0" encoding="utf-8" ?> + +<wsdl:definitions + targetNamespace="http://ode/bpel/unit-test.wsdl" + xmlns="http://schemas.xmlsoap.org/wsdl/" + xmlns:tns="http://ode/bpel/unit-test.wsdl" + xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" + xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" + xmlns:bpws="http://schemas.xmlsoap.org/ws/2004/03/business-process/" + xmlns:plnk="http://schemas.xmlsoap.org/ws/2004/03/partner-link/"> + + <wsdl:message name="HelloMessage"> + <wsdl:part name="TestPart" type="xsd:string"/> + </wsdl:message> + + <wsdl:portType name="HelloPortType"> + <wsdl:operation name="hello"> + <wsdl:input message="tns:HelloMessage" name="TestIn"/> + <wsdl:output message="tns:HelloMessage" name="TestOut"/> + </wsdl:operation> + </wsdl:portType> + + <wsdl:binding name="HelloSoapBinding" type="tns:HelloPortType"> + <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> + <wsdl:operation name="hello"> + <soap:operation soapAction="" style="rpc"/> + <wsdl:input> + <soap:body + namespace="http://ode/bpel/unit-test.wsdl" + use="literal"/> + </wsdl:input> + <wsdl:output> + <soap:body + namespace="http://ode/bpel/unit-test.wsdl" + use="literal"/> + </wsdl:output> + </wsdl:operation> + </wsdl:binding> + <wsdl:service name="HelloService"> + <wsdl:port name="HelloPort" binding="tns:HelloSoapBinding"> + <soap:address location="http://localhost:8080/ode/processes/helloWorld"/> + </wsdl:port> + </wsdl:service> + + <plnk:partnerLinkType name="HelloPartnerLinkType"> + <plnk:role name="me" portType="tns:HelloPortType"/> + <plnk:role name="you" portType="tns:HelloPortType"/> + </plnk:partnerLinkType> +</wsdl:definitions> + Propchange: incubator/ode/trunk/scheduler-simple/src/test/resources/HelloWorld2/HelloWorld2.wsdl ------------------------------------------------------------------------------ svn:eol-style = native Added: incubator/ode/trunk/scheduler-simple/src/test/resources/HelloWorld2/deploy.xml URL: http://svn.apache.org/viewvc/incubator/ode/trunk/scheduler-simple/src/test/resources/HelloWorld2/deploy.xml?view=auto&rev=552607 ============================================================================== --- incubator/ode/trunk/scheduler-simple/src/test/resources/HelloWorld2/deploy.xml (added) +++ incubator/ode/trunk/scheduler-simple/src/test/resources/HelloWorld2/deploy.xml Mon Jul 2 15:11:36 2007 @@ -0,0 +1,12 @@ +<deploy xmlns="http://ode.fivesight.com/schemas/2006/06/27/dd" + xmlns:pns="http://ode/bpel/unit-test" + xmlns:wns="http://ode/bpel/unit-test.wsdl"> + + + <process name="pns:HelloWorld2"> + <active>true</active> + <provide partnerLink="helloPartnerLink"> + <service name="wns:HelloService" port="HelloPort"/> + </provide> + </process> +</deploy> Propchange: incubator/ode/trunk/scheduler-simple/src/test/resources/HelloWorld2/deploy.xml ------------------------------------------------------------------------------ svn:eol-style = native Added: incubator/ode/trunk/scheduler-simple/src/test/resources/HelloWorld2/test.properties URL: http://svn.apache.org/viewvc/incubator/ode/trunk/scheduler-simple/src/test/resources/HelloWorld2/test.properties?view=auto&rev=552607 ============================================================================== --- incubator/ode/trunk/scheduler-simple/src/test/resources/HelloWorld2/test.properties (added) +++ incubator/ode/trunk/scheduler-simple/src/test/resources/HelloWorld2/test.properties Mon Jul 2 15:11:36 2007 @@ -0,0 +1,6 @@ +namespace=http://ode/bpel/unit-test.wsdl +service=HelloService +operation=hello +request1=<message><TestPart>Hello</TestPart></message> +response1=.*Hello World.* + Propchange: incubator/ode/trunk/scheduler-simple/src/test/resources/HelloWorld2/test.properties ------------------------------------------------------------------------------ svn:eol-style = native