use of org.camunda.bpm.engine.variable.value.FileValue in project camunda-bpm-platform by camunda.
the class FileValueSerializerTest method testWriteMimetypeFilenameAndBytesValue.
@Test
public void testWriteMimetypeFilenameAndBytesValue() throws UnsupportedEncodingException {
String filename = "test.txt";
String mimeType = "text/json";
InputStream is = this.getClass().getClassLoader().getResourceAsStream("org/camunda/bpm/engine/test/standalone/variables/simpleFile.txt");
FileValue fileValue = Variables.fileValue(filename).mimeType(mimeType).file(is).create();
ValueFields valueFields = new MockValueFields();
serializer.writeValue(fileValue, valueFields);
assertThat(new String(valueFields.getByteArrayValue(), "UTF-8"), is("text"));
assertThat(valueFields.getTextValue(), is(filename));
assertThat(valueFields.getTextValue2(), is(mimeType + SEPARATOR));
}
use of org.camunda.bpm.engine.variable.value.FileValue in project camunda-bpm-platform by camunda.
the class TaskQueryTest method testQueryByFileCaseInstanceVariableValueGreaterThanOrEqual.
@Deployment(resources = { "org/camunda/bpm/engine/test/api/cmmn/oneTaskCase.cmmn" })
public void testQueryByFileCaseInstanceVariableValueGreaterThanOrEqual() {
FileValue fileValue = createDefaultFileValue();
String variableName = "aFileValue";
startDefaultCaseWithVariable(fileValue, variableName);
TaskQuery query = taskService.createTaskQuery();
try {
query.caseInstanceVariableValueGreaterThanOrEquals(variableName, fileValue).list();
fail();
} catch (ProcessEngineException e) {
assertThat(e.getMessage(), containsString("Variables of type File cannot be used to query"));
}
}
use of org.camunda.bpm.engine.variable.value.FileValue in project camunda-bpm-platform by camunda.
the class FileValueProcessSerializationTest method testSerializeNullValue.
@Test
@Deployment(resources = ONE_TASK_PROCESS)
public void testSerializeNullValue() {
ProcessInstance pi = runtimeService.startProcessInstanceByKey("oneTaskProcess", Variables.createVariables().putValue("fileVar", Variables.fileValue("test.txt").create()));
FileValue fileVar = runtimeService.getVariableTyped(pi.getId(), "fileVar");
assertNull(fileVar.getMimeType());
}
use of org.camunda.bpm.engine.variable.value.FileValue in project camunda-bpm-platform by camunda.
the class FileValueProcessSerializationTest method testSerializeNullMimeTypeAndNullEncoding.
@Test
@Deployment(resources = ONE_TASK_PROCESS)
public void testSerializeNullMimeTypeAndNullEncoding() {
ProcessInstance pi = runtimeService.startProcessInstanceByKey("oneTaskProcess", Variables.createVariables().putValue("fileVar", Variables.fileValue("test.txt").file("ABC".getBytes()).create()));
FileValue fileVar = runtimeService.getVariableTyped(pi.getId(), "fileVar");
assertNull(fileVar.getMimeType());
assertNull(fileVar.getEncoding());
}
use of org.camunda.bpm.engine.variable.value.FileValue in project camunda-bpm-platform by camunda.
the class FileValueProcessSerializationTest method testSerializeFileVariable.
@Test
public void testSerializeFileVariable() {
BpmnModelInstance modelInstance = Bpmn.createExecutableProcess("process").startEvent().userTask().endEvent().done();
org.camunda.bpm.engine.repository.Deployment deployment = repositoryService.createDeployment().addModelInstance("process.bpmn", modelInstance).deploy();
VariableMap variables = Variables.createVariables();
String filename = "test.txt";
String type = "text/plain";
FileValue fileValue = Variables.fileValue(filename).file("ABC".getBytes()).encoding("UTF-8").mimeType(type).create();
variables.put("file", fileValue);
runtimeService.startProcessInstanceByKey("process", variables);
Task task = taskService.createTaskQuery().singleResult();
VariableInstance result = runtimeService.createVariableInstanceQuery().processInstanceIdIn(task.getProcessInstanceId()).singleResult();
FileValue value = (FileValue) result.getTypedValue();
assertThat(value.getFilename(), is(filename));
assertThat(value.getMimeType(), is(type));
assertThat(value.getEncoding(), is("UTF-8"));
assertThat(value.getEncodingAsCharset(), is(Charset.forName("UTF-8")));
Scanner scanner = new Scanner(value.getValue());
assertThat(scanner.nextLine(), is("ABC"));
// clean up
repositoryService.deleteDeployment(deployment.getId(), true);
}
Aggregations