Exemple #1
0
        public virtual void testSerializationOfUnknownFormat()
        {
            // given
            ProcessInstance instance = runtimeService.startProcessInstanceByKey("oneTaskProcess");

            // when
            ObjectValue objectValue = Variables.serializedObjectValue("foo").serializationDataFormat("application/foo").objectTypeName("org.camunda.Foo").create();

            runtimeService.setVariable(instance.Id, "var", objectValue);

            // then
            try
            {
                runtimeService.getVariable(instance.Id, "var");
                fail();
            }
            catch (ProcessEngineException e)
            {
                assertTextPresent("Fallback serializer cannot handle deserialized objects", e.Message);
            }

            ObjectValue returnedValue = runtimeService.getVariableTyped(instance.Id, "var", false);

            assertFalse(returnedValue.Deserialized);
            assertEquals("application/foo", returnedValue.SerializationDataFormat);
            assertEquals("foo", returnedValue.ValueSerialized);
            assertEquals("org.camunda.Foo", returnedValue.ObjectTypeName);
        }
Exemple #2
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void testGetSingleVariableInstanceSerialized()
        public virtual void testGetSingleVariableInstanceSerialized()
        {
            ObjectValue serializedValue = Variables.serializedObjectValue("a serialized value").serializationDataFormat("aDataFormat").objectTypeName("aTypeName").create();

            MockHistoricVariableInstanceBuilder builder = MockProvider.mockHistoricVariableInstance().typedValue(serializedValue);
            HistoricVariableInstance            variableInstanceMock = builder.build();

            when(variableInstanceQueryMock.variableId(variableInstanceMock.Id)).thenReturn(variableInstanceQueryMock);
            when(variableInstanceQueryMock.disableBinaryFetching()).thenReturn(variableInstanceQueryMock);
            when(variableInstanceQueryMock.disableCustomObjectDeserialization()).thenReturn(variableInstanceQueryMock);
            when(variableInstanceQueryMock.singleResult()).thenReturn(variableInstanceMock);

            given().pathParam("id", MockProvider.EXAMPLE_VARIABLE_INSTANCE_ID).queryParam("deserializeValue", false).then().expect().statusCode(Status.OK.StatusCode).and().body("id", equalTo(builder.Id)).body("name", equalTo(builder.Name)).body("type", equalTo(VariableTypeHelper.toExpectedValueTypeName(builder.TypedValue.Type))).body("value", equalTo("a serialized value")).body("valueInfo.serializationDataFormat", equalTo("aDataFormat")).body("valueInfo.objectTypeName", equalTo("aTypeName")).body("processInstanceId", equalTo(builder.ProcessInstanceId)).body("processDefinitionKey", equalTo(builder.ProcessDefinitionKey)).body("processDefinitionId", equalTo(builder.ProcessDefinitionId)).body("executionId", equalTo(builder.ExecutionId)).body("errorMessage", equalTo(builder.ErrorMessage)).body("activityInstanceId", equalTo(builder.ActivityInstanceId)).body("caseDefinitionKey", equalTo(builder.CaseDefinitionKey)).body("caseDefinitionId", equalTo(builder.CaseDefinitionId)).body("caseInstanceId", equalTo(builder.CaseInstanceId)).body("caseExecutionId", equalTo(builder.CaseExecutionId)).body("taskId", equalTo(builder.TaskId)).body("tenantId", equalTo(builder.TenantId)).body("createTime", equalTo(MockProvider.EXAMPLE_HISTORIC_VARIABLE_INSTANCE_CREATE_TIME)).body("removalTime", equalTo(MockProvider.EXAMPLE_HISTORIC_VARIABLE_INSTANCE_REMOVAL_TIME)).body("rootProcessInstanceId", equalTo(builder.RootProcessInstanceId)).when().get(VARIABLE_INSTANCE_URL);

            verify(variableInstanceQueryMock, times(1)).disableBinaryFetching();
            verify(variableInstanceQueryMock, times(1)).disableCustomObjectDeserialization();
        }
Exemple #3
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void testGetSingleVariableUpdateSerialized()
        public virtual void testGetSingleVariableUpdateSerialized()
        {
            ObjectValue serializedValue = Variables.serializedObjectValue("a serialized value").serializationDataFormat("aDataFormat").objectTypeName("aTypeName").create();

            MockHistoricVariableUpdateBuilder builder = MockProvider.mockHistoricVariableUpdate().typedValue(serializedValue);
            HistoricVariableUpdate            variableInstanceMock = builder.build();

            when(historicDetailQueryMock.detailId(variableInstanceMock.Id)).thenReturn(historicDetailQueryMock);
            when(historicDetailQueryMock.disableBinaryFetching()).thenReturn(historicDetailQueryMock);
            when(historicDetailQueryMock.disableCustomObjectDeserialization()).thenReturn(historicDetailQueryMock);
            when(historicDetailQueryMock.singleResult()).thenReturn(variableInstanceMock);

            given().pathParam("id", builder.Id).queryParam("deserializeValue", false).then().expect().statusCode(Status.OK.StatusCode).and().body("id", equalTo(builder.Id)).body("variableName", equalTo(builder.Name)).body("variableInstanceId", equalTo(builder.VariableInstanceId)).body("variableType", equalTo(VariableTypeHelper.toExpectedValueTypeName(builder.TypedValue.Type))).body("value", equalTo("a serialized value")).body("valueInfo.serializationDataFormat", equalTo("aDataFormat")).body("valueInfo.objectTypeName", equalTo("aTypeName")).body("processDefinitionKey", equalTo(builder.ProcessDefinitionKey)).body("processDefinitionId", equalTo(builder.ProcessDefinitionId)).body("processInstanceId", equalTo(builder.ProcessInstanceId)).body("errorMessage", equalTo(builder.ErrorMessage)).body("activityInstanceId", equalTo(builder.ActivityInstanceId)).body("revision", equalTo(builder.Revision)).body("time", equalTo(builder.Time)).body("taskId", equalTo(builder.TaskId)).body("executionId", equalTo(builder.ExecutionId)).body("caseDefinitionKey", equalTo(builder.CaseDefinitionKey)).body("caseDefinitionId", equalTo(builder.CaseDefinitionId)).body("caseInstanceId", equalTo(builder.CaseInstanceId)).body("caseExecutionId", equalTo(builder.CaseExecutionId)).body("tenantId", equalTo(builder.TenantId)).when().get(HISTORIC_DETAIL_URL);

            verify(historicDetailQueryMock, times(1)).disableBinaryFetching();
            verify(historicDetailQueryMock, times(1)).disableCustomObjectDeserialization();
        }
Exemple #4
0
        public virtual void testStandaloneTaskTransientVariable()
        {
            Task task = taskService.newTask();

            task.Name = "gonzoTask";
            taskService.saveTask(task);

            string taskId = task.Id;

            try
            {
                taskService.setVariable(taskId, "instrument", Variables.serializedObjectValue("trumpet").serializationDataFormat(Variables.SerializationDataFormats.JAVA).setTransient(true).create());
                fail("Exception is expected.");
            }
            catch (ProcessEngineException ex)
            {
                assertEquals("ENGINE-17007 Cannot set variable with name instrument. Java serialization format is prohibited", ex.Message);
            }
            finally
            {
                taskService.deleteTask(taskId, true);
            }
        }