Search in sources :

Example 1 with TaskServiceImpl

use of org.camunda.bpm.engine.impl.TaskServiceImpl in project camunda-bpm-platform by camunda.

the class TaskVariableLocalRestResourceInteractionTest method testLocalVariableModification.

@Test
public void testLocalVariableModification() {
    TaskServiceImpl taskServiceMock = mockTaskServiceImpl();
    Map<String, Object> messageBodyJson = new HashMap<String, Object>();
    String variableKey = "aKey";
    int variableValue = 123;
    Map<String, Object> modifications = VariablesBuilder.create().variable(variableKey, variableValue).getVariables();
    messageBodyJson.put("modifications", modifications);
    List<String> deletions = new ArrayList<String>();
    deletions.add("deleteKey");
    messageBodyJson.put("deletions", deletions);
    given().pathParam("id", EXAMPLE_TASK_ID).contentType(ContentType.JSON).body(messageBodyJson).header("accept", MediaType.APPLICATION_JSON).then().expect().statusCode(Status.NO_CONTENT.getStatusCode()).when().post(SINGLE_TASK_MODIFY_VARIABLES_URL);
    Map<String, Object> expectedModifications = new HashMap<String, Object>();
    expectedModifications.put(variableKey, variableValue);
    verify(taskServiceMock).updateVariablesLocal(eq(EXAMPLE_TASK_ID), argThat(new EqualsMap(expectedModifications)), argThat(new EqualsList(deletions)));
}
Also used : EqualsMap(org.camunda.bpm.engine.rest.helper.EqualsMap) HashMap(java.util.HashMap) EqualsList(org.camunda.bpm.engine.rest.helper.EqualsList) TaskServiceImpl(org.camunda.bpm.engine.impl.TaskServiceImpl) ArrayList(java.util.ArrayList) Matchers.containsString(org.hamcrest.Matchers.containsString) Matchers.anyString(org.mockito.Matchers.anyString) Test(org.junit.Test)

Example 2 with TaskServiceImpl

use of org.camunda.bpm.engine.impl.TaskServiceImpl in project camunda-bpm-platform by camunda.

the class TaskVariableLocalRestResourceInteractionTest method mockTaskServiceImpl.

private TaskServiceImpl mockTaskServiceImpl() {
    TaskServiceImpl taskServiceMock = mock(TaskServiceImpl.class);
    when(processEngine.getTaskService()).thenReturn(taskServiceMock);
    return taskServiceMock;
}
Also used : TaskServiceImpl(org.camunda.bpm.engine.impl.TaskServiceImpl)

Example 3 with TaskServiceImpl

use of org.camunda.bpm.engine.impl.TaskServiceImpl in project camunda-bpm-platform by camunda.

the class TaskVariableRestResourceInteractionTest method testVariableModification.

@Test
public void testVariableModification() {
    TaskServiceImpl taskServiceMock = mockTaskServiceImpl();
    Map<String, Object> messageBodyJson = new HashMap<String, Object>();
    String variableKey = "aKey";
    int variableValue = 123;
    Map<String, Object> modifications = VariablesBuilder.create().variable(variableKey, variableValue).getVariables();
    messageBodyJson.put("modifications", modifications);
    List<String> deletions = new ArrayList<String>();
    deletions.add("deleteKey");
    messageBodyJson.put("deletions", deletions);
    given().pathParam("id", EXAMPLE_TASK_ID).contentType(ContentType.JSON).body(messageBodyJson).header("accept", MediaType.APPLICATION_JSON).then().expect().statusCode(Status.NO_CONTENT.getStatusCode()).when().post(SINGLE_TASK_MODIFY_VARIABLES_URL);
    Map<String, Object> expectedModifications = new HashMap<String, Object>();
    expectedModifications.put(variableKey, variableValue);
    verify(taskServiceMock).updateVariables(eq(EXAMPLE_TASK_ID), argThat(new EqualsMap(expectedModifications)), argThat(new EqualsList(deletions)));
}
Also used : EqualsMap(org.camunda.bpm.engine.rest.helper.EqualsMap) HashMap(java.util.HashMap) EqualsList(org.camunda.bpm.engine.rest.helper.EqualsList) TaskServiceImpl(org.camunda.bpm.engine.impl.TaskServiceImpl) ArrayList(java.util.ArrayList) Matchers.containsString(org.hamcrest.Matchers.containsString) Matchers.anyString(org.mockito.Matchers.anyString) Test(org.junit.Test)

Example 4 with TaskServiceImpl

use of org.camunda.bpm.engine.impl.TaskServiceImpl in project camunda-bpm-platform by camunda.

the class TaskVariablesResource method updateVariableEntities.

protected void updateVariableEntities(VariableMap modifications, List<String> deletions) {
    TaskServiceImpl taskService = (TaskServiceImpl) engine.getTaskService();
    taskService.updateVariables(resourceId, modifications, deletions);
}
Also used : TaskServiceImpl(org.camunda.bpm.engine.impl.TaskServiceImpl)

Example 5 with TaskServiceImpl

use of org.camunda.bpm.engine.impl.TaskServiceImpl in project camunda-bpm-platform by camunda.

the class TaskAuthorizationTest method testProcessTaskUpdateVariablesLocalWithUpdatePermissionOnAnyTask.

public void testProcessTaskUpdateVariablesLocalWithUpdatePermissionOnAnyTask() {
    // given
    startProcessInstanceByKey(PROCESS_KEY);
    String taskId = selectSingleTask().getId();
    createGrantAuthorization(TASK, ANY, userId, UPDATE);
    VariableInstanceQuery query = runtimeService.createVariableInstanceQuery();
    // when (1)
    ((TaskServiceImpl) taskService).updateVariablesLocal(taskId, getVariables(), null);
    // then (1)
    disableAuthorization();
    verifyQueryResults(query, 1);
    enableAuthorization();
    // when (2)
    ((TaskServiceImpl) taskService).updateVariablesLocal(taskId, null, Arrays.asList(VARIABLE_NAME));
    // then (2)
    disableAuthorization();
    verifyQueryResults(query, 0);
    enableAuthorization();
    // when (3)
    ((TaskServiceImpl) taskService).updateVariablesLocal(taskId, getVariables(), Arrays.asList(VARIABLE_NAME));
    // then (3)
    disableAuthorization();
    verifyQueryResults(query, 0);
    enableAuthorization();
}
Also used : VariableInstanceQuery(org.camunda.bpm.engine.runtime.VariableInstanceQuery) TaskServiceImpl(org.camunda.bpm.engine.impl.TaskServiceImpl)

Aggregations

TaskServiceImpl (org.camunda.bpm.engine.impl.TaskServiceImpl)24 VariableInstanceQuery (org.camunda.bpm.engine.runtime.VariableInstanceQuery)12 ArrayList (java.util.ArrayList)8 HashMap (java.util.HashMap)8 Test (org.junit.Test)8 EqualsList (org.camunda.bpm.engine.rest.helper.EqualsList)6 EqualsMap (org.camunda.bpm.engine.rest.helper.EqualsMap)6 Matchers.containsString (org.hamcrest.Matchers.containsString)6 Matchers.anyString (org.mockito.Matchers.anyString)6 List (java.util.List)4 Map (java.util.Map)4 AuthorizationException (org.camunda.bpm.engine.AuthorizationException)2 ProcessEngineException (org.camunda.bpm.engine.ProcessEngineException)2 HistoricVariableInstance (org.camunda.bpm.engine.history.HistoricVariableInstance)2 RestException (org.camunda.bpm.engine.rest.exception.RestException)2 ProcessInstance (org.camunda.bpm.engine.runtime.ProcessInstance)2 Task (org.camunda.bpm.engine.task.Task)2 Deployment (org.camunda.bpm.engine.test.Deployment)2 RequiredHistoryLevel (org.camunda.bpm.engine.test.RequiredHistoryLevel)2