public void writeTo(StringBuilder sb) { sb.append("Migration plan for process definition '") .append(migrationPlan.getSourceProcessDefinitionId()) .append("' to '") .append(migrationPlan.getTargetProcessDefinitionId()) .append("' is not valid:\n"); for (MigrationInstructionValidationReport instructionReport : instructionReports) { sb.append("\t Migration instruction ").append(instructionReport.getMigrationInstruction()).append(" is not valid:\n"); for (String failure : instructionReport.getFailures()) { sb.append("\t\t").append(failure).append("\n"); } } }
public void writeTo(StringBuilder sb) { sb.append("Migration plan for process definition '") .append(migrationPlan.getSourceProcessDefinitionId()) .append("' to '") .append(migrationPlan.getTargetProcessDefinitionId()) .append("' is not valid:\n"); for (MigrationInstructionValidationReport instructionReport : instructionReports) { sb.append("\t Migration instruction ").append(instructionReport.getMigrationInstruction()).append(" is not valid:\n"); for (String failure : instructionReport.getFailures()) { sb.append("\t\t").append(failure).append("\n"); } } }
public static MigrationInstructionValidationReportDto from(MigrationInstructionValidationReport instructionReport) { MigrationInstructionValidationReportDto dto = new MigrationInstructionValidationReportDto(); dto.setInstruction(MigrationInstructionDto.from(instructionReport.getMigrationInstruction())); dto.setFailures(instructionReport.getFailures()); return dto; }
public static MigrationInstructionValidationReportDto from(MigrationInstructionValidationReport instructionReport) { MigrationInstructionValidationReportDto dto = new MigrationInstructionValidationReportDto(); dto.setInstruction(MigrationInstructionDto.from(instructionReport.getMigrationInstruction())); dto.setFailures(instructionReport.getFailures()); return dto; }
public MigrationPlanValidationReportAssert hasInstructionFailures(String activityId, String... expectedFailures) { isNotNull(); List<String> failuresFound = new ArrayList<String>(); for (MigrationInstructionValidationReport instructionReport : actual.getInstructionReports()) { String sourceActivityId = instructionReport.getMigrationInstruction().getSourceActivityId(); if ((activityId == null && sourceActivityId == null) || (activityId != null && activityId.equals(sourceActivityId))) { failuresFound.addAll(instructionReport.getFailures()); } } Collection<Matcher<? super String>> matchers = new ArrayList<Matcher<? super String>>(); for (String expectedFailure : expectedFailures) { matchers.add(Matchers.containsString(expectedFailure)); } Assert.assertThat("Expected failures for activity id '" + activityId + "':\n" + joinFailures(expectedFailures) + "But found failures:\n" + joinFailures(failuresFound.toArray()), failuresFound, Matchers.containsInAnyOrder(matchers)); return this; }
when(instructionReport1.getFailures()).thenReturn(Arrays.asList("failure1", "failure2")); when(instructionReport2.getFailures()).thenReturn(Arrays.asList("failure1", "failure2"));
@Test public void executeMigrationPlanAsyncWithEmptyInstructions() { MigrationInstructionValidationReport instructionReport = mock(MigrationInstructionValidationReport.class); when(instructionReport.getMigrationInstruction()).thenReturn(null); when(instructionReport.getFailures()).thenReturn(Collections.singletonList("failure")); MigrationPlanValidationReport validationReport = mock(MigrationPlanValidationReport.class); when(validationReport.getInstructionReports()).thenReturn(Collections.singletonList(instructionReport)); when(migrationPlanBuilderMock.build()).thenThrow(new MigrationPlanValidationException("fooo", validationReport)); Map<String, Object> migrationExecution = new MigrationExecutionDtoBuilder() .migrationPlan(EXAMPLE_PROCESS_DEFINITION_ID, ANOTHER_EXAMPLE_PROCESS_DEFINITION_ID) .done() .processInstances(EXAMPLE_PROCESS_INSTANCE_ID, ANOTHER_EXAMPLE_PROCESS_INSTANCE_ID) .build(); ((Map<String, Object>) migrationExecution.get(MigrationExecutionDtoBuilder.PROP_MIGRATION_PLAN)) .put(MigrationPlanDtoBuilder.PROP_INSTRUCTIONS, Collections.<MigrationInstructionDto>emptyList()); given() .contentType(POST_JSON_CONTENT_TYPE) .body(migrationExecution) .then().expect() .statusCode(Status.BAD_REQUEST.getStatusCode()) .body("type", equalTo(MigrationPlanValidationException.class.getSimpleName())) .body("message", is("fooo")) .body("validationReport.instructionReports", hasSize(1)) .body("validationReport.instructionReports[0].instruction", nullValue()) .body("validationReport.instructionReports[0].failures", hasSize(1)) .body("validationReport.instructionReports[0].failures[0]", is("failure")) .when() .post(EXECUTE_MIGRATION_ASYNC_URL); }
@Test public void executeMigrationPlanAsyncWithNullInstructions() { MigrationInstructionValidationReport instructionReport = mock(MigrationInstructionValidationReport.class); when(instructionReport.getMigrationInstruction()).thenReturn(null); when(instructionReport.getFailures()).thenReturn(Collections.singletonList("failure")); MigrationPlanValidationReport validationReport = mock(MigrationPlanValidationReport.class); when(validationReport.getInstructionReports()).thenReturn(Collections.singletonList(instructionReport)); when(migrationPlanBuilderMock.build()).thenThrow(new MigrationPlanValidationException("fooo", validationReport)); Map<String, Object> migrationExecution = new MigrationExecutionDtoBuilder() .migrationPlan(EXAMPLE_PROCESS_DEFINITION_ID, ANOTHER_EXAMPLE_PROCESS_DEFINITION_ID) .done() .processInstances(EXAMPLE_PROCESS_INSTANCE_ID, ANOTHER_EXAMPLE_PROCESS_INSTANCE_ID) .build(); given() .contentType(POST_JSON_CONTENT_TYPE) .body(migrationExecution) .then().expect() .statusCode(Status.BAD_REQUEST.getStatusCode()) .body("type", equalTo(MigrationPlanValidationException.class.getSimpleName())) .body("message", is("fooo")) .body("validationReport.instructionReports", hasSize(1)) .body("validationReport.instructionReports[0].instruction", nullValue()) .body("validationReport.instructionReports[0].failures", hasSize(1)) .body("validationReport.instructionReports[0].failures[0]", is("failure")) .when() .post(EXECUTE_MIGRATION_ASYNC_URL); }
when(instructionReport1.getFailures()).thenReturn(Arrays.asList("failure1", "failure2")); when(instructionReport2.getFailures()).thenReturn(Arrays.asList("failure1", "failure2"));
@Test public void executeMigrationPlanWithEmptyInstructions() { MigrationInstructionValidationReport instructionReport = mock(MigrationInstructionValidationReport.class); when(instructionReport.getMigrationInstruction()).thenReturn(null); when(instructionReport.getFailures()).thenReturn(Collections.singletonList("failure")); MigrationPlanValidationReport validationReport = mock(MigrationPlanValidationReport.class); when(validationReport.getInstructionReports()).thenReturn(Collections.singletonList(instructionReport)); when(migrationPlanBuilderMock.build()).thenThrow(new MigrationPlanValidationException("fooo", validationReport)); Map<String, Object> migrationExecution = new MigrationExecutionDtoBuilder() .migrationPlan(EXAMPLE_PROCESS_DEFINITION_ID, ANOTHER_EXAMPLE_PROCESS_DEFINITION_ID) .done() .processInstances(EXAMPLE_PROCESS_INSTANCE_ID, ANOTHER_EXAMPLE_PROCESS_INSTANCE_ID) .build(); ((Map<String, Object>) migrationExecution.get(MigrationExecutionDtoBuilder.PROP_MIGRATION_PLAN)) .put(MigrationPlanDtoBuilder.PROP_INSTRUCTIONS, Collections.<MigrationInstructionDto>emptyList()); given() .contentType(POST_JSON_CONTENT_TYPE) .body(migrationExecution) .then().expect() .statusCode(Status.BAD_REQUEST.getStatusCode()) .body("type", equalTo(MigrationPlanValidationException.class.getSimpleName())) .body("message", is("fooo")) .body("validationReport.instructionReports", hasSize(1)) .body("validationReport.instructionReports[0].instruction", nullValue()) .body("validationReport.instructionReports[0].failures", hasSize(1)) .body("validationReport.instructionReports[0].failures[0]", is("failure")) .when() .post(EXECUTE_MIGRATION_URL); }
when(instructionReport1.getFailures()).thenReturn(Arrays.asList("failure1", "failure2")); when(instructionReport2.getFailures()).thenReturn(Arrays.asList("failure1", "failure2"));
@Test public void executeMigrationPlanWithNullInstructions() { MigrationInstructionValidationReport instructionReport = mock(MigrationInstructionValidationReport.class); when(instructionReport.getMigrationInstruction()).thenReturn(null); when(instructionReport.getFailures()).thenReturn(Collections.singletonList("failure")); MigrationPlanValidationReport validationReport = mock(MigrationPlanValidationReport.class); when(validationReport.getInstructionReports()).thenReturn(Collections.singletonList(instructionReport)); when(migrationPlanBuilderMock.build()).thenThrow(new MigrationPlanValidationException("fooo", validationReport)); Map<String, Object> migrationExecution = new MigrationExecutionDtoBuilder() .migrationPlan(EXAMPLE_PROCESS_DEFINITION_ID, ANOTHER_EXAMPLE_PROCESS_DEFINITION_ID) .done() .processInstances(EXAMPLE_PROCESS_INSTANCE_ID, ANOTHER_EXAMPLE_PROCESS_INSTANCE_ID) .build(); given() .contentType(POST_JSON_CONTENT_TYPE) .body(migrationExecution) .then().expect() .statusCode(Status.BAD_REQUEST.getStatusCode()) .body("type", equalTo(MigrationPlanValidationException.class.getSimpleName())) .body("message", is("fooo")) .body("validationReport.instructionReports", hasSize(1)) .body("validationReport.instructionReports[0].instruction", nullValue()) .body("validationReport.instructionReports[0].failures", hasSize(1)) .body("validationReport.instructionReports[0].failures[0]", is("failure")) .when() .post(EXECUTE_MIGRATION_URL); }
public void writeTo(StringBuilder sb) { sb.append("Migration plan for process definition '") .append(migrationPlan.getSourceProcessDefinitionId()) .append("' to '") .append(migrationPlan.getTargetProcessDefinitionId()) .append("' is not valid:\n"); for (MigrationInstructionValidationReport instructionReport : instructionReports) { sb.append("\t Migration instruction ").append(instructionReport.getMigrationInstruction()).append(" is not valid:\n"); for (String failure : instructionReport.getFailures()) { sb.append("\t\t").append(failure).append("\n"); } } }
public static MigrationInstructionValidationReportDto from(MigrationInstructionValidationReport instructionReport) { MigrationInstructionValidationReportDto dto = new MigrationInstructionValidationReportDto(); dto.setInstruction(MigrationInstructionDto.from(instructionReport.getMigrationInstruction())); dto.setFailures(instructionReport.getFailures()); return dto; }
public MigrationPlanValidationReportAssert hasInstructionFailures(String activityId, String... expectedFailures) { isNotNull(); List<String> failuresFound = new ArrayList<String>(); for (MigrationInstructionValidationReport instructionReport : actual.getInstructionReports()) { String sourceActivityId = instructionReport.getMigrationInstruction().getSourceActivityId(); if ((activityId == null && sourceActivityId == null) || (activityId != null && activityId.equals(sourceActivityId))) { failuresFound.addAll(instructionReport.getFailures()); } } Collection<Matcher<? super String>> matchers = new ArrayList<Matcher<? super String>>(); for (String expectedFailure : expectedFailures) { matchers.add(Matchers.containsString(expectedFailure)); } Assert.assertThat("Expected failures for activity id '" + activityId + "':\n" + joinFailures(expectedFailures) + "But found failures:\n" + joinFailures(failuresFound.toArray()), failuresFound, Matchers.containsInAnyOrder(matchers)); return this; }