Skip to content
Snippets Groups Projects
Commit 74beb0df authored by Felix Reichenbach's avatar Felix Reichenbach
Browse files

OZG-7846 move null check

parent f64523ea
No related branches found
No related tags found
1 merge request!13Ozg 7846 filter for form engine
......@@ -94,10 +94,9 @@ public class AggregationManagerRunner implements CommandLineRunner {
void runWithTransformation(Transformation transformation, FormIdentifier formIdentifier) {
try (Execution execution = new Execution(transformation)) {
ThreadContext.put(MDC_EXECUTION, execution.id.toString());
var vorgaenge = extractBatchesOfVorgaengeFromDataSource(execution, formIdentifier);
var deletedVorgaenge = Objects.isNull(formIdentifier) ? extractBatchesOfDeletedVorgaengeFromDataSource(execution)
: Stream.<Batch>empty();
loadVorgaengeIntoRepository(Stream.concat(vorgaenge, deletedVorgaenge));
loadVorgaengeIntoRepository(Stream.concat(
extractBatchesOfVorgaengeFromDataSource(execution, formIdentifier),
extractBatchesOfDeletedVorgaengeFromDataSource(execution, formIdentifier)));
} finally {
ThreadContext.remove(MDC_EXECUTION);
}
......@@ -132,8 +131,9 @@ public class AggregationManagerRunner implements CommandLineRunner {
.build());
}
Stream<Batch> extractBatchesOfDeletedVorgaengeFromDataSource(Execution execution) {
return extractBatchesFromDataSource(execution, getPagedDeletedVorgaenge(vorgangService.findDeleted()));
Stream<Batch> extractBatchesOfDeletedVorgaengeFromDataSource(Execution execution, FormIdentifier formIdentifier) {
return Objects.isNull(formIdentifier) ? extractBatchesFromDataSource(execution, getPagedDeletedVorgaenge(vorgangService.findDeleted()))
: Stream.empty();
}
Function<Page, List<OzgCloudVorgang>> getPagedDeletedVorgaenge(Stream<OzgCloudVorgangStub> allDeletedVorgaenge) {
......
......@@ -201,12 +201,15 @@ class AggregationManagerRunnerTest {
private final FormIdentifier formIdentifier = FormIdentifierTestFactory.create();
@Mock
private Batch batchOfVorgaenge;
@Mock
private Batch batchOfDeletedVorgaenge;
@Captor
private ArgumentCaptor<Stream<Batch>> batchStreamCaptor;
@BeforeEach
void init() {
doReturn(Stream.of(batchOfVorgaenge)).when(runner).extractBatchesOfVorgaengeFromDataSource(any(), any());
doReturn(Stream.of(batchOfDeletedVorgaenge)).when(runner).extractBatchesOfDeletedVorgaengeFromDataSource(any(), any());
doNothing().when(runner).loadVorgaengeIntoRepository(any());
}
......@@ -217,41 +220,11 @@ class AggregationManagerRunnerTest {
verify(runner).extractBatchesOfVorgaengeFromDataSource(argThat(hasTransformation), eq(formIdentifier));
}
@Nested
class TestOnFormIdentifierIsNull {
@Mock
private Batch batchOfDeletedVorgaenge;
@BeforeEach
void mock() {
doReturn(Stream.of(batchOfDeletedVorgaenge)).when(runner).extractBatchesOfDeletedVorgaengeFromDataSource(any());
}
@Test
void shouldExtractBatchesOfDeletedVorgaengeFromDataSource() {
runner.runWithTransformation(transformation, null);
verify(runner).extractBatchesOfDeletedVorgaengeFromDataSource(argThat(hasTransformation));
}
@Test
void shouldLoadVorgaengeIntoRepository() {
runner.runWithTransformation(transformation, null);
verify(runner).loadVorgaengeIntoRepository(batchStreamCaptor.capture());
assertThat(batchStreamCaptor.getValue()).containsExactly(batchOfVorgaenge, batchOfDeletedVorgaenge);
}
}
@Nested
class TestOnFormIdentifierIsNotNull {
@Test
void shouldNotExtractBatchesOfDeletedVorgaengeFromDataSource() {
runner.runWithTransformation(transformation, formIdentifier);
verify(runner, never()).extractBatchesOfDeletedVorgaengeFromDataSource(any());
verify(runner).extractBatchesOfDeletedVorgaengeFromDataSource(argThat(hasTransformation), eq(formIdentifier));
}
@Test
......@@ -259,8 +232,7 @@ class AggregationManagerRunnerTest {
runner.runWithTransformation(transformation, formIdentifier);
verify(runner).loadVorgaengeIntoRepository(batchStreamCaptor.capture());
assertThat(batchStreamCaptor.getValue()).containsExactly(batchOfVorgaenge);
}
assertThat(batchStreamCaptor.getValue()).containsExactly(batchOfVorgaenge, batchOfDeletedVorgaenge);
}
}
......@@ -443,6 +415,9 @@ class AggregationManagerRunnerTest {
@Mock
private Batch batch;
@Nested
class TestOnNullFormIdentifier {
@BeforeEach
void init() {
when(vorgangService.findDeleted()).thenReturn(deletedVorgaenge.stream());
......@@ -452,34 +427,49 @@ class AggregationManagerRunnerTest {
@Test
void shouldFindDeleted() {
runner.extractBatchesOfDeletedVorgaengeFromDataSource(execution);
runner.extractBatchesOfDeletedVorgaengeFromDataSource(execution, null);
verify(vorgangService).findDeleted();
}
@Test
void shouldGetPagedDeletedVorgaenge() {
runner.extractBatchesOfDeletedVorgaengeFromDataSource(execution);
runner.extractBatchesOfDeletedVorgaengeFromDataSource(execution, null);
verify(runner).getPagedDeletedVorgaenge(deletedVorgaengeCaptor.capture());
assertThat(deletedVorgaengeCaptor.getValue()).usingRecursiveFieldByFieldElementComparator().containsExactlyElementsOf(deletedVorgaenge);
assertThat(deletedVorgaengeCaptor.getValue()).usingRecursiveFieldByFieldElementComparator()
.containsExactlyElementsOf(deletedVorgaenge);
}
@Test
void shouldExtractWithDataRetrievalFunction() {
runner.extractBatchesOfDeletedVorgaengeFromDataSource(execution);
runner.extractBatchesOfDeletedVorgaengeFromDataSource(execution, null);
verify(runner).extractBatchesFromDataSource(execution, functionToRetrieveData);
}
@Test
void shouldReturnExtractedBatches() {
var extracted = runner.extractBatchesOfDeletedVorgaengeFromDataSource(execution);
var extracted = runner.extractBatchesOfDeletedVorgaengeFromDataSource(execution, null);
assertThat(extracted).containsExactly(batch);
}
}
@Nested
class TestOnFormIdentifierNotNull {
private final FormIdentifier formIdentifier = FormIdentifierTestFactory.create();
@Test
void shouldReturnEmptyStream() {
var extracted = runner.extractBatchesOfDeletedVorgaengeFromDataSource(execution, formIdentifier);
assertThat(extracted).isEmpty();
}
}
}
@Nested
class TestGetPagedDeletedVorgaenge {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment