Package org.jbpm.integration.console

Source Code of org.jbpm.integration.console.ProcessManagementTest

package org.jbpm.integration.console;

import static org.junit.Assert.assertEquals;

import java.util.HashMap;
import java.util.List;

import org.jboss.bpm.console.client.model.ProcessInstanceRef;
import org.jboss.bpm.console.client.model.ProcessInstanceRef.RESULT;
import org.jboss.bpm.console.client.model.ProcessInstanceRef.STATE;
import org.jbpm.integration.JbpmTestCase;
import org.jbpm.process.audit.JPAProcessInstanceDbLog;
import org.jbpm.process.audit.ProcessInstanceDbLog;
import org.junit.After;
import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;

public class ProcessManagementTest extends JbpmTestCase {

  ProcessManagement processManager = new ProcessManagement();

  @Before
  public void instantiateProcesses() {
    processManager = new ProcessManagement();
    HashMap<String, Object> variables = new HashMap<String, Object>();
    variables.put("key", "variable");
    processManager.newInstance("Minimal");
    processManager.newInstance("UserTask", variables);
    processManager.newInstance("UserTask", variables);
  }

  @After
  public void clearProcesses() {
    new JPAProcessInstanceDbLog().clear();
    processManager = null;
  }

  @Test
  public void testGetProcessDefinitions() {
    assertEquals("UserTask", processManager.getProcessDefinitions().get(0).getId());
    assertEquals("Minimal", processManager.getProcessDefinitions().get(1).getId());
  }

  @Test
  public void testGetProcessDefinition() {
    assertEquals("UserTask", processManager.getProcessDefinition("UserTask").getId());
  }

  @Test(expected = UnsupportedOperationException.class)
  public void testRemoveProcessDefinition() {
    assertEquals(1, processManager.removeProcessDefinition("Minimal").size());
  }

  @Test @Ignore
  public void testGetProcessInstances() {
    List<ProcessInstanceRef> userTaskInstances = processManager.getProcessInstances("UserTask");
    List<ProcessInstanceRef> minimalInstances = processManager.getProcessInstances("Minimal");
    assertEquals(2, userTaskInstances.size());
    assertEquals(0, minimalInstances.size());
  }

  @Test @Ignore
  public void testNewProcessInstance() {
    assertEquals("UserTask", processManager.newInstance("UserTask").getDefinitionId());
    assertEquals(3, processManager.getProcessInstances("UserTask").size());
  }

  @Test @Ignore
  public void testNewProcessInstanceWithVariables() {
    HashMap<String, Object> variables = new HashMap<String, Object>();
    variables.put("key2", "variable2");
    ProcessInstanceRef instanceRef = processManager.newInstance("UserTask",  variables);
    assertEquals("UserTask", instanceRef.getDefinitionId());
    assertEquals(3, processManager.getProcessInstances("UserTask").size());
    assertEquals("variable2", processManager.getInstanceData(instanceRef.getId()).get("key2"));
  }

  @Test(expected = UnsupportedOperationException.class)
  public void testSetProcessState() {
    processManager.setProcessState("23", STATE.RUNNING);
  }

  @Test
  public void testGetInstanceData() {
    HashMap<String, Object> variables = new HashMap<String, Object>();
    variables.put("key2", "variable2");
    String instanceID = processManager.newInstance("UserTask", variables).getId();
    assertEquals(variables, processManager.getInstanceData(instanceID));
  }

  @Test
  public void testSetInstanceData() {
    HashMap<String, Object> variables = new HashMap<String, Object>();
    variables.put("key", "variable2");
    String instanceID = processManager.newInstance("UserTask", variables).getId();
    variables.put("key3", "variable3");
    processManager.setInstanceData(instanceID, variables);
    assertEquals(variables, processManager.getInstanceData(instanceID));
  }

  @Test @Ignore
  public void testSignalExecution() {
    // TODO implement
  }

  @Test(expected = IllegalArgumentException.class)
  public void testDeleteInstance() {
    HashMap<String, Object> variables = new HashMap<String, Object>();
    variables.put("key3", "variable3");
    String instanceID = processManager.newInstance("UserTask", variables).getId();
    processManager.deleteInstance(instanceID);
    processManager.getInstanceData(instanceID);
  }

  @Test(expected = IllegalArgumentException.class)
  public void testEndInstance() {
    HashMap<String, Object> variables = new HashMap<String, Object>();
    variables.put("key3", "variable3");
    String instanceID = processManager.newInstance("UserTask", variables).getId();
    processManager.endInstance(instanceID, RESULT.ERROR);
    assertEquals(false, processManager.getInstanceData(instanceID).isEmpty());
  }

}
TOP

Related Classes of org.jbpm.integration.console.ProcessManagementTest

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.