Ejemplo n.º 1
0
        public virtual void testSelectHistoricSerializedValuesUpdate()
        {
            ProcessInstance instance = runtimeService.startProcessInstanceByKey("oneTaskProcess");

            JsonSerializable bean = new JsonSerializable("a String", 42, false);

            runtimeService.setVariable(instance.Id, "simpleBean", objectValue(bean).serializationDataFormat(JSON_FORMAT_NAME));

            if (ProcessEngineConfiguration.HISTORY_FULL.Equals(processEngineConfiguration.History))
            {
                HistoricVariableUpdate historicUpdate = (HistoricVariableUpdate)historyService.createHistoricDetailQuery().variableUpdates().singleResult();

                assertNotNull(historicUpdate.Value);
                assertNull(historicUpdate.ErrorMessage);

                assertEquals(ValueType.OBJECT.Name, historicUpdate.TypeName);
                assertEquals(ValueType.OBJECT.Name, historicUpdate.VariableTypeName);

                JsonSerializable historyValue = (JsonSerializable)historicUpdate.Value;
                assertEquals(bean.StringProperty, historyValue.StringProperty);
                assertEquals(bean.IntProperty, historyValue.IntProperty);
                assertEquals(bean.BooleanProperty, historyValue.BooleanProperty);

                ObjectValue typedValue = (ObjectValue)historicUpdate.TypedValue;
                assertEquals(JSON_FORMAT_NAME, typedValue.SerializationDataFormat);
                JSONAssert.assertEquals(bean.toExpectedJsonString(), new string(typedValue.ValueSerialized), true);
//JAVA TO C# CONVERTER WARNING: The .NET Type.FullName property will not always yield results identical to the Java Class.getName method:
                assertEquals(typeof(JsonSerializable).FullName, typedValue.ObjectTypeName);
            }
        }
Ejemplo n.º 2
0
        protected internal override TypedValue transformQueryResultIntoTypedValue(HistoricDetail queryResult)
        {
            if (!(queryResult is HistoricVariableUpdate))
            {
                throw new InvalidRequestException(Status.BAD_REQUEST, "Historic detail with Id '" + Id + "' is not a variable update.");
            }
            HistoricVariableUpdate update = (HistoricVariableUpdate)queryResult;

            return(update.TypedValue);
        }
Ejemplo n.º 3
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void testBinaryDataForNonBinaryVariable()
        public virtual void testBinaryDataForNonBinaryVariable()
        {
            HistoricVariableUpdate detailMock = MockProvider.createMockHistoricVariableUpdate();

            when(historicDetailQueryMock.detailId(detailMock.Id)).thenReturn(historicDetailQueryMock);
            when(historicDetailQueryMock.disableCustomObjectDeserialization()).thenReturn(historicDetailQueryMock);
            when(historicDetailQueryMock.singleResult()).thenReturn(detailMock);

            given().pathParam("id", MockProvider.EXAMPLE_HISTORIC_VAR_UPDATE_ID).then().expect().statusCode(Status.BAD_REQUEST.StatusCode).body(containsString("Value of variable with id aHistoricVariableUpdateId is not a binary value")).when().get(VARIABLE_INSTANCE_BINARY_DATA_URL);

            verify(historicDetailQueryMock, never()).disableBinaryFetching();
        }
Ejemplo n.º 4
0
        public static OptimizeHistoricVariableUpdateDto fromHistoricVariableUpdate(HistoricVariableUpdate historicVariableUpdate)
        {
            OptimizeHistoricVariableUpdateDto dto = new OptimizeHistoricVariableUpdateDto();

            fromHistoricVariableUpdate(dto, historicVariableUpdate);
            fromHistoricDetail(historicVariableUpdate, dto);
            if (historicVariableUpdate is HistoryEvent)
            {
                HistoryEvent historyEvent = (HistoryEvent)historicVariableUpdate;
                dto.SequenceCounter = historyEvent.SequenceCounter;
            }
            return(dto);
        }
Ejemplo n.º 5
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void testGetSingleDetail()
        public virtual void testGetSingleDetail()
        {
            MockHistoricVariableUpdateBuilder builder = MockProvider.mockHistoricVariableUpdate();

            HistoricVariableUpdate detailMock = builder.build();

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

            given().pathParam("id", MockProvider.EXAMPLE_HISTORIC_VAR_UPDATE_ID).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(builder.Value)).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();
        }
Ejemplo n.º 6
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void testGetSingleVariableUpdateDeserialized()
        public virtual void testGetSingleVariableUpdateDeserialized()
        {
            ObjectValue serializedValue = MockObjectValue.fromObjectValue(Variables.objectValue("a value").serializationDataFormat("aDataFormat").create()).objectTypeName("aTypeName");

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

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

            given().pathParam("id", builder.Id).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 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, never()).disableCustomObjectDeserialization();
        }
Ejemplo n.º 7
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void testGetBinaryDataForNullFileVariable()
        public virtual void testGetBinaryDataForNullFileVariable()
        {
            string filename = "test.txt";

            sbyte[]   byteContent   = null;
            FileValue variableValue = Variables.fileValue(filename).file(byteContent).mimeType(ContentType.TEXT.ToString()).create();

            MockHistoricVariableUpdateBuilder builder = MockProvider.mockHistoricVariableUpdate();

            HistoricVariableUpdate detailMock = builder.typedValue(variableValue).build();

            when(historicDetailQueryMock.detailId(detailMock.Id)).thenReturn(historicDetailQueryMock);
            when(historicDetailQueryMock.disableCustomObjectDeserialization()).thenReturn(historicDetailQueryMock);
            when(historicDetailQueryMock.singleResult()).thenReturn(detailMock);

            given().pathParam("id", MockProvider.EXAMPLE_HISTORIC_VAR_UPDATE_ID).then().expect().statusCode(Status.OK.StatusCode).and().contentType(ContentType.TEXT).and().body(@is(equalTo(""))).when().get(VARIABLE_INSTANCE_BINARY_DATA_URL);
        }
Ejemplo n.º 8
0
        public virtual HistoricVariableUpdate build()
        {
            HistoricVariableUpdate mockVariable = mock(typeof(HistoricVariableUpdate));

            when(mockVariable.Id).thenReturn(id_Renamed);
            when(mockVariable.VariableName).thenReturn(name_Renamed);
            when(mockVariable.VariableInstanceId).thenReturn(variableInstanceId_Renamed);
            when(mockVariable.VariableTypeName).thenReturn(typedValue_Renamed.Type.Name);

            if (typedValue_Renamed.GetType().IsAssignableFrom(typeof(ObjectValue)))
            {
                ObjectValue objectValue = (ObjectValue)typedValue_Renamed;
                if (objectValue.Deserialized)
                {
                    when(mockVariable.Value).thenReturn(typedValue_Renamed.Value);
                }
                else
                {
                    when(mockVariable.Value).thenReturn(null);
                }
            }
            else
            {
                when(mockVariable.Value).thenReturn(typedValue_Renamed.Value);
            }

            when(mockVariable.TypedValue).thenReturn(typedValue_Renamed);
            when(mockVariable.ProcessDefinitionKey).thenReturn(processDefinitionKey_Renamed);
            when(mockVariable.ProcessDefinitionId).thenReturn(processDefinitionId_Renamed);
            when(mockVariable.ProcessInstanceId).thenReturn(processInstanceId_Renamed);
            when(mockVariable.ErrorMessage).thenReturn(errorMessage_Renamed);
            when(mockVariable.Revision).thenReturn(revision_Renamed);
            when(mockVariable.Time).thenReturn(DateTimeUtil.parseDate(time_Renamed));
            when(mockVariable.ActivityInstanceId).thenReturn(activityInstanceId_Renamed);
            when(mockVariable.TaskId).thenReturn(taskId_Renamed);
            when(mockVariable.ExecutionId).thenReturn(executionId_Renamed);
            when(mockVariable.TypeName).thenReturn(typedValue_Renamed.Type.Name);
            when(mockVariable.CaseDefinitionKey).thenReturn(caseDefinitionKey_Renamed);
            when(mockVariable.CaseDefinitionId).thenReturn(caseDefinitionId_Renamed);
            when(mockVariable.CaseInstanceId).thenReturn(caseInstanceId_Renamed);
            when(mockVariable.CaseExecutionId).thenReturn(caseExecutionId_Renamed);
            when(mockVariable.TenantId).thenReturn(tenantId_Renamed);
            when(mockVariable.UserOperationId).thenReturn(userOperationId_Renamed);

            return(mockVariable);
        }
Ejemplo n.º 9
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void testBinaryDataForBinaryVariable()
        public virtual void testBinaryDataForBinaryVariable()
        {
//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final byte[] byteContent = "some bytes".getBytes();
            sbyte[] byteContent = "some bytes".GetBytes();

            MockHistoricVariableUpdateBuilder builder = MockProvider.mockHistoricVariableUpdate();

            HistoricVariableUpdate detailMock = builder.typedValue(Variables.byteArrayValue(byteContent)).build();

            when(historicDetailQueryMock.detailId(detailMock.Id)).thenReturn(historicDetailQueryMock);
            when(historicDetailQueryMock.disableCustomObjectDeserialization()).thenReturn(historicDetailQueryMock);
            when(historicDetailQueryMock.singleResult()).thenReturn(detailMock);

            Response response = given().pathParam("id", MockProvider.EXAMPLE_HISTORIC_VAR_UPDATE_ID).then().expect().statusCode(Status.OK.StatusCode).contentType(ContentType.BINARY.ToString()).when().get(VARIABLE_INSTANCE_BINARY_DATA_URL);

            sbyte[] responseBytes = response.Body.asByteArray();
            Assert.assertEquals(StringHelper.NewString(byteContent), StringHelper.NewString(responseBytes));
            verify(historicDetailQueryMock, never()).disableBinaryFetching();
        }
Ejemplo n.º 10
0
        public virtual void testReceivesVariableUpdates()
        {
            // given
            ProcessInstance instance = runtimeService.startProcessInstanceByKey("oneTaskProcess");

            // when
            string value = "a Variable Value";

            runtimeService.setVariable(instance.Id, "aStringVariable", value);
            runtimeService.setVariable(instance.Id, "aBytesVariable", value.GetBytes());

            // then the historic variable instances and their values exist
            assertEquals(2, historyService.createHistoricVariableInstanceQuery().count());

            HistoricVariableInstance historicStringVariable = historyService.createHistoricVariableInstanceQuery().variableName("aStringVariable").singleResult();

            assertNotNull(historicStringVariable);
            assertEquals(value, historicStringVariable.Value);

            HistoricVariableInstance historicBytesVariable = historyService.createHistoricVariableInstanceQuery().variableName("aBytesVariable").singleResult();

            assertNotNull(historicBytesVariable);
            assertTrue(Arrays.Equals(value.GetBytes(), (sbyte[])historicBytesVariable.Value));

            // then the historic variable updates and their values exist
            assertEquals(2, historyService.createHistoricDetailQuery().variableUpdates().count());

            HistoricVariableUpdate historicStringVariableUpdate = (HistoricVariableUpdate)historyService.createHistoricDetailQuery().variableUpdates().variableInstanceId(historicStringVariable.Id).singleResult();

            assertNotNull(historicStringVariableUpdate);
            assertEquals(value, historicStringVariableUpdate.Value);

            HistoricVariableUpdate historicByteVariableUpdate = (HistoricVariableUpdate)historyService.createHistoricDetailQuery().variableUpdates().variableInstanceId(historicBytesVariable.Id).singleResult();

            assertNotNull(historicByteVariableUpdate);
            assertTrue(Arrays.Equals(value.GetBytes(), (sbyte[])historicByteVariableUpdate.Value));
        }
Ejemplo n.º 11
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void testBinaryDataForFileVariable()
        public virtual void testBinaryDataForFileVariable()
        {
            string filename = "test.txt";

            sbyte[]   byteContent   = "test".GetBytes();
            string    encoding      = "UTF-8";
            FileValue variableValue = Variables.fileValue(filename).file(byteContent).mimeType(ContentType.TEXT.ToString()).encoding(encoding).create();

            MockHistoricVariableUpdateBuilder builder = MockProvider.mockHistoricVariableUpdate();

            HistoricVariableUpdate detailMock = builder.typedValue(variableValue).build();

            when(historicDetailQueryMock.detailId(detailMock.Id)).thenReturn(historicDetailQueryMock);
            when(historicDetailQueryMock.disableCustomObjectDeserialization()).thenReturn(historicDetailQueryMock);
            when(historicDetailQueryMock.singleResult()).thenReturn(detailMock);

            Response response = given().pathParam("id", MockProvider.EXAMPLE_HISTORIC_VAR_UPDATE_ID).then().expect().statusCode(Status.OK.StatusCode).body(@is(equalTo(StringHelper.NewString(byteContent)))).and().header("Content-Disposition", "attachment; filename=" + filename).when().get(VARIABLE_INSTANCE_BINARY_DATA_URL);
            //due to some problems with wildfly we gotta check this separately
            string contentType = response.ContentType;

            assertThat(contentType, @is(either(CoreMatchers.equalTo <object>(ContentType.TEXT.ToString() + "; charset=UTF-8")).or(CoreMatchers.equalTo <object>(ContentType.TEXT.ToString() + ";charset=UTF-8"))));

            verify(historicDetailQueryMock, never()).disableBinaryFetching();
        }