Package com.founder.fix.fixflow.test.engine.api.model

Source Code of com.founder.fix.fixflow.test.engine.api.model.ProcessDefinitionQueryTest

/**
* Copyright 1996-2013 Founder International Co.,Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
*      http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* @author yangchenhui
*/
package com.founder.fix.fixflow.test.engine.api.model;

import java.util.List;

import com.founder.fix.fixflow.core.impl.bpmn.behavior.ProcessDefinitionBehavior;
import com.founder.fix.fixflow.core.model.DeploymentBuilder;
import com.founder.fix.fixflow.core.model.ProcessDefinitionQuery;
import com.founder.fix.fixflow.test.AbstractFixFlowTestCase;
/**
* 流程定义查询测试类
* @author Administrator
*
*/
public class ProcessDefinitionQueryTest extends AbstractFixFlowTestCase {

  /**
   * 测试流程定义查询
   */
  public void testProcessDefinitionQuery(){
    DeploymentBuilder deploymentBuilder = processEngine.getModelService().createDeployment().name("测试名称");
    //添加你要发布的定义
    deploymentBuilder.addClasspathResource("com/founder/fix/fixflow/test/engine/api/model/startProcessByUser.bpmn");
    String deploymentIdTemp = deploymentBuilder.deploy().getId();
    assertNotNull(deploymentIdTemp);
    //重置下流程发布,发布下一个流程
    DeploymentBuilder deploymentBuilder2 = processEngine.getModelService().createDeployment().name("测试发布");
    deploymentBuilder2.addClasspathResource("com/founder/fix/fixflow/test/engine/api/model/StartProcessInstanceTest.bpmn");
    //发布
    deploymentIdTemp = deploymentBuilder2.deploy().getId();
    assertNotNull(deploymentIdTemp);
   
    //创建流程定义查询
    ProcessDefinitionQuery processDefinitionQuery = modelService.createProcessDefinitionQuery();
    //查询发布号为deploymentIdTemp的流程定义
    List<ProcessDefinitionBehavior> processDefinitionBehaviors = processDefinitionQuery.deploymentId(deploymentIdTemp).list();
    //验证是否为1个
    assertEquals(1, processDefinitionBehaviors.size());
   
    //创建流程定义查询
    processDefinitionQuery = modelService.createProcessDefinitionQuery();
    //查询分类为测试流程定义分类的流程定义
    processDefinitionBehaviors = processDefinitionQuery.processDefinitionCategory("测试流程定义分类").list();
    //验证是否为1个
    assertEquals(1, processDefinitionBehaviors.size());
   
    //创建流程定义查询
    processDefinitionQuery = modelService.createProcessDefinitionQuery();
    //查询分类like测试流程定的流程定义
    processDefinitionBehaviors = processDefinitionQuery.processDefinitionCategoryLike("测试流程定").list();
    //验证是否为1个
    assertEquals(1, processDefinitionBehaviors.size());
   
    //创建流程定义查询
    processDefinitionQuery = modelService.createProcessDefinitionQuery();
    //查询startProcessByUser的版本号为1的流程定义
    processDefinitionBehaviors = processDefinitionQuery.processDefinitionKey("startProcessByUser").processDefinitionVersion(1).list();
    //验证是否为1个
    assertEquals(1, processDefinitionBehaviors.size());
   
    //创建流程定义查询
    processDefinitionQuery = modelService.createProcessDefinitionQuery();
    //查询流程名称等于指定启动人权限的StartProcessInstanceTest流程的流程定义
    processDefinitionBehaviors = processDefinitionQuery.processDefinitionName("指定启动人权限的StartProcessInstanceTest流程").list();
    //验证是否为1个
    assertEquals(1, processDefinitionBehaviors.size());
   
    //创建流程定义查询
    processDefinitionQuery = modelService.createProcessDefinitionQuery();
    //查询流程名称like  StartProcessInstanceTest流程的的流程定义
    processDefinitionBehaviors = processDefinitionQuery.processDefinitionNameLike("StartProcessInstanceTest流程").list();
    //验证是否为2个
    assertEquals(2, processDefinitionBehaviors.size());
   
    String processDefinitionId = processDefinitionBehaviors.get(0).getProcessDefinitionId();
   
    //创建流程定义查询
    processDefinitionQuery = modelService.createProcessDefinitionQuery();
    //查询processDefinitionId的流程定义
    processDefinitionBehaviors = processDefinitionQuery.processDefinitionId(processDefinitionId).list();
    //验证是否为1个
    assertEquals(1, processDefinitionBehaviors.size());
  }
}
TOP

Related Classes of com.founder.fix.fixflow.test.engine.api.model.ProcessDefinitionQueryTest

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.