Skip to content

Commit

Permalink
test(engine): improve test business key criteria
Browse files Browse the repository at this point in the history
Improve test cases for history task instances query by business key
criteria

Related to CAM-7785
  • Loading branch information
yanavasileva committed Jul 24, 2017
1 parent 7e720ea commit fb0ece7
Show file tree
Hide file tree
Showing 2 changed files with 49 additions and 28 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,6 @@ public HistoricTaskInstanceQueryImpl processInstanceId(String processInstanceId)

public HistoricTaskInstanceQuery processInstanceBusinessKey(String processInstanceBusinessKey) {
this.processInstanceBusinessKey = processInstanceBusinessKey;
expressions.remove("processInstanceBusinessKey");
return this;
}

Expand All @@ -136,7 +135,6 @@ public HistoricTaskInstanceQuery processInstanceBusinessKeyIn(String... processI
@Override
public HistoricTaskInstanceQuery processInstanceBusinessKeyLike(String processInstanceBusinessKey) {
this.processInstanceBusinessKeyLike = processInstanceBusinessKey;
expressions.remove("processInstanceBusinessKeyLike");
return this;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.camunda.bpm.engine.ProcessEngineConfiguration;
Expand Down Expand Up @@ -122,7 +121,7 @@ public void testDeleteHistoricTaskInstance() {
@Deployment
public void testHistoricTaskInstanceQuery() throws Exception {
// First instance is finished
ProcessInstance finishedInstance = runtimeService.startProcessInstanceByKey("HistoricTaskQueryTest", "aBusinessKey");
ProcessInstance finishedInstance = runtimeService.startProcessInstanceByKey("HistoricTaskQueryTest");

// Set priority to non-default value
Task task = taskService.createTaskQuery().processInstanceId(finishedInstance.getId()).singleResult();
Expand Down Expand Up @@ -165,10 +164,6 @@ public void testHistoricTaskInstanceQuery() throws Exception {
assertEquals(1, historyService.createHistoricTaskInstanceQuery().processInstanceId(finishedInstance.getId()).count());
assertEquals(0, historyService.createHistoricTaskInstanceQuery().processInstanceId("unexistingid").count());

// Process instance business key
assertEquals(1, historyService.createHistoricTaskInstanceQuery().processInstanceBusinessKey(finishedInstance.getBusinessKey()).count());
assertEquals(0, historyService.createHistoricTaskInstanceQuery().processInstanceBusinessKey("unexistingBusinessKey").count());

// Process definition id
assertEquals(1, historyService.createHistoricTaskInstanceQuery().processDefinitionId(finishedInstance.getProcessDefinitionId()).count());
assertEquals(0, historyService.createHistoricTaskInstanceQuery().processDefinitionId("unexistingdefinitionid").count());
Expand Down Expand Up @@ -1004,39 +999,67 @@ public void testQueryByInvalidTaskDefinitionKeys() {
}

@Deployment(resources = { "org/camunda/bpm/engine/test/api/oneTaskProcess.bpmn20.xml" })
public void testQueryByProcessInstanceBusinessKeyIn() {
public void testQueryByProcessInstanceBusinessKey() {
// given
ProcessInstance piBusinessKey1 = runtimeService.startProcessInstanceByKey("oneTaskProcess", "BUSINESS-KEY-1");
ProcessInstance piBusinessKey2 = runtimeService.startProcessInstanceByKey("oneTaskProcess", "BUSINESS-KEY-2");

// Complete the task
List<Task> list = taskService.createTaskQuery().processDefinitionKey("oneTaskProcess").list();
assertEquals(2, list.size());
for (Task task : list) {
taskService.complete(task.getId());
}
HistoricTaskInstanceQuery query = historyService.createHistoricTaskInstanceQuery();

// then
assertEquals(1, historyService.createHistoricTaskInstanceQuery().processInstanceBusinessKeyIn(piBusinessKey1.getBusinessKey()).count());
assertEquals(0, historyService.createHistoricTaskInstanceQuery().processInstanceBusinessKeyIn("unexistingBusinessKey").count());
HistoricTaskInstance historicTaskInstance = historyService.createHistoricTaskInstanceQuery().processInstanceBusinessKeyIn(piBusinessKey2.getBusinessKey()).singleResult();
assertNotNull(historicTaskInstance);
assertEquals(1, query.processInstanceBusinessKey(piBusinessKey1.getBusinessKey()).count());
assertEquals(0, query.processInstanceBusinessKey("unexistingBusinessKey").count());
}

@Deployment(resources = { "org/camunda/bpm/engine/test/api/oneTaskProcess.bpmn20.xml" })
public void testQueryByProcessInstanceBusinessKeyIn() {
// given
String businessKey1 = "BUSINESS-KEY-1";
String businessKey2 = "BUSINESS-KEY-2";
String businessKey3 = "BUSINESS-KEY-3";
String unexistingBusinessKey = "unexistingBusinessKey";

runtimeService.startProcessInstanceByKey("oneTaskProcess", businessKey1);
runtimeService.startProcessInstanceByKey("oneTaskProcess", businessKey2);
runtimeService.startProcessInstanceByKey("oneTaskProcess", businessKey3);

HistoricTaskInstanceQuery query = historyService.createHistoricTaskInstanceQuery();

// then
assertEquals(3, query.processInstanceBusinessKeyIn(businessKey1, businessKey2, businessKey3).list().size());
assertEquals(1, query.processInstanceBusinessKeyIn(businessKey2, unexistingBusinessKey).count());
}

@Deployment(resources = { "org/camunda/bpm/engine/test/api/oneTaskProcess.bpmn20.xml" })
public void testQueryByProcessInstanceBusinessKeyLike() {
// given
runtimeService.startProcessInstanceByKey("oneTaskProcess", "BUSINESS-KEY-1");

// Complete the task
Task task = taskService.createTaskQuery().processDefinitionKey("oneTaskProcess").singleResult();
assertNotNull(task);
taskService.complete(task.getId());
HistoricTaskInstanceQuery query = historyService.createHistoricTaskInstanceQuery();

// then
assertEquals(1, query.processInstanceBusinessKeyLike("BUSINESS-KEY-1").list().size());
assertEquals(1, query.processInstanceBusinessKeyLike("BUSINESS-KEY%").count());
assertEquals(1, query.processInstanceBusinessKeyLike("%KEY-1").count());
assertEquals(1, query.processInstanceBusinessKeyLike("%KEY%").count());
assertEquals(0, query.processInstanceBusinessKeyLike("BUZINESS-KEY%").count());
}

@Deployment(resources = { "org/camunda/bpm/engine/test/api/oneTaskProcess.bpmn20.xml" })
public void testQueryByProcessInstanceBusinessKeyAndArray() {
// given
String businessKey1 = "BUSINESS-KEY-1";
String businessKey2 = "BUSINESS-KEY-2";
String businessKey3 = "BUSINESS-KEY-3";
String unexistingBusinessKey = "unexistingBusinessKey";

runtimeService.startProcessInstanceByKey("oneTaskProcess", businessKey1);
runtimeService.startProcessInstanceByKey("oneTaskProcess", businessKey2);
runtimeService.startProcessInstanceByKey("oneTaskProcess", businessKey3);

HistoricTaskInstanceQuery query = historyService.createHistoricTaskInstanceQuery();

// then
assertEquals(1, historyService.createHistoricTaskInstanceQuery().processInstanceBusinessKeyLike("BUSINESS-KEY-1").list().size());
assertEquals(1, historyService.createHistoricTaskInstanceQuery().processInstanceBusinessKeyLike("BUSINESS-KEY%").count());
assertEquals(0, historyService.createHistoricTaskInstanceQuery().processInstanceBusinessKeyLike("BUSINESS-KEY").count());
assertEquals(0, historyService.createHistoricTaskInstanceQuery().processInstanceBusinessKeyLike("BUZINESS-KEY%").count());
assertEquals(0, query.processInstanceBusinessKeyIn(businessKey1, businessKey2).processInstanceBusinessKey(unexistingBusinessKey).count());
assertEquals(1, query.processInstanceBusinessKeyIn(businessKey2, businessKey3).processInstanceBusinessKey(businessKey2).count());
}
}

0 comments on commit fb0ece7

Please sign in to comment.