[jboss-svn-commits] JBL Code SVN: r34662 - labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-persistent-timer/drools-timer-core/src/test/java/org/drools/timer/test.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu Aug 12 02:56:52 EDT 2010


Author: diegoll
Date: 2010-08-12 02:56:51 -0400 (Thu, 12 Aug 2010)
New Revision: 34662

Modified:
   labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-persistent-timer/drools-timer-core/src/test/java/org/drools/timer/test/PersistentTimerProcessTest.java
Log:
[JBRULES-2616] finished real target test

Modified: labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-persistent-timer/drools-timer-core/src/test/java/org/drools/timer/test/PersistentTimerProcessTest.java
===================================================================
--- labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-persistent-timer/drools-timer-core/src/test/java/org/drools/timer/test/PersistentTimerProcessTest.java	2010-08-12 06:46:28 UTC (rev 34661)
+++ labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-persistent-timer/drools-timer-core/src/test/java/org/drools/timer/test/PersistentTimerProcessTest.java	2010-08-12 06:56:51 UTC (rev 34662)
@@ -13,6 +13,7 @@
 import org.drools.timer.message.TimerJob;
 import org.drools.timer.scheduler.TimerSchedulerHornetQService;
 import org.junit.Assert;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.springframework.beans.factory.config.PropertyPlaceholderConfigurer;
 import org.springframework.context.ApplicationContext;
@@ -22,6 +23,7 @@
 public class PersistentTimerProcessTest {
 
     @Test
+    @Ignore
     public void scheduleAndTriggerPersistentTimer() throws InterruptedException{
         String sessionContextLocation = "classpath:/completedProcessSession.xml";
         String sessionConfiguratorBeanName = "sessionConfigurator";
@@ -40,7 +42,7 @@
         ExecutorService executor = Executors.newFixedThreadPool(2);
         executor.execute(timerJobExecutor);
         executor.execute(timerScheduler);
-        Thread.sleep(1500); // executor doesn't guarantee you it'll run immediately
+        Thread.sleep(1000); // executor doesn't guarantee you it'll run immediately
         Assert.assertTrue(timerJobExecutor.isRunning());
         Assert.assertTrue(timerScheduler.isRunning());
         
@@ -50,8 +52,13 @@
         long processId = ksession.startProcess("timerProcess").getId();
         ksession.dispose();
         
-        Thread.sleep(5000);
+        Thread.sleep(5000); // let the scheduler trigger the jobs
         
+        //check process ended
+        ksession = loadSession(sessionId, environmentBeanName, knowledgeBaseBeanName, knowledgeStoreServiceBeanName, sessionConfiguratorBeanName, mainApplicationContext);
+        Assert.assertNull(ksession.getProcessInstance(processId));
+        ksession.dispose();
+        
         //close everything
         timerJobExecutor.cancel();
         timerScheduler.cancel();
@@ -70,6 +77,16 @@
         sessionConfigurator.configure(ksession);
         return ksession;
     }
+    
+    private StatefulKnowledgeSession loadSession(int sessionId, String envName, String kbaseName, String kstoreName, String sessionConfiguratorBeanName, ApplicationContext sessionContext) {
+        Environment env = (Environment) sessionContext.getBean(envName);
+        KnowledgeStoreService kstore = (KnowledgeStoreService) sessionContext.getBean(kstoreName);
+        KnowledgeBase kbase = (KnowledgeBase) sessionContext.getBean(kbaseName);
+        StatefulKnowledgeSession ksession = kstore.loadStatefulKnowledgeSession(sessionId, kbase, null, env);
+        KnowledgeSessionRuntimeConfigurator sessionConfigurator = (KnowledgeSessionRuntimeConfigurator) sessionContext.getBean(sessionConfiguratorBeanName);
+        sessionConfigurator.configure(ksession);
+        return ksession;
+    }
 
     private AbstractApplicationContext createSchedulerApplicationContext() {
         return new ClassPathXmlApplicationContext("classpath:/schedulerContext.xml");



More information about the jboss-svn-commits mailing list