Package org.drools.task

Source Code of org.drools.task.QueryTest

package org.drools.task;

import java.io.InputStreamReader;
import java.io.Reader;
import java.util.Date;
import java.util.List;
import java.util.Map;

import org.apache.commons.collections.map.HashedMap;
import org.drools.task.query.DeadlineSummary;
import org.drools.task.service.TaskServiceEscalationBaseTest.MockEscalatedDeadlineHandler;

public class QueryTest extends BaseTest {

    public void testUnescalatedDeadlines() throws Exception {
        MockEscalatedDeadlineHandler handler = new MockEscalatedDeadlineHandler();
        taskService.setEscalatedDeadlineHandler( handler );      
        Map vars = new HashedMap();
        vars.put( "users",
                  users );
        vars.put( "groups",
                  groups );


        //Reader reader;
        Reader reader = new InputStreamReader( getClass().getResourceAsStream( "QueryData_UnescalatedDeadlines.mvel" ) );
        List<Task> tasks = (List<Task>) eval( reader,
                                              vars );
        for ( Task task : tasks ) {
            taskSession.addTask( task, null );
        }
        long now = ((Date)vars.get( "now" )).getTime();
       
        // should be three, one is marked as escalated
        List<DeadlineSummary> list = taskSession.getUnescalatedDeadlines();
       
        assertEquals( 3,
                      list.size() );

        DeadlineSummary result = list.get( 0 );
        assertEquals( now + 20000,
                      result.getDate().getTime() );

        result = list.get( 1 );
        assertEquals( now + 22000 ,
                      result.getDate().getTime() );

        result = list.get( 2 );
        assertEquals( now + 24000,
                      result.getDate().getTime());   
    }

}
TOP

Related Classes of org.drools.task.QueryTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.