Nachbearbeitung: Meilensteinbezeichner aus DocumentProcessingCoordinator
entfernt
This commit is contained in:
@@ -87,10 +87,10 @@ class DocumentProcessingCoordinatorTest {
|
||||
@Test
|
||||
void process_newDocument_preCheckPassed_persistsSuccessStatus() {
|
||||
recordRepo.setLookupResult(new DocumentUnknown());
|
||||
DocumentProcessingOutcome m3Outcome = new PreCheckPassed(
|
||||
DocumentProcessingOutcome outcome = new PreCheckPassed(
|
||||
candidate, new PdfExtractionSuccess("text", new PdfPageCount(1)));
|
||||
|
||||
processor.process(candidate, fingerprint, m3Outcome, context, attemptStart);
|
||||
processor.process(candidate, fingerprint, outcome, context, attemptStart);
|
||||
|
||||
// One attempt written
|
||||
assertEquals(1, attemptRepo.savedAttempts.size());
|
||||
@@ -113,10 +113,10 @@ class DocumentProcessingCoordinatorTest {
|
||||
@Test
|
||||
void process_newDocument_firstContentError_persistsFailedRetryable_contentCounterOne() {
|
||||
recordRepo.setLookupResult(new DocumentUnknown());
|
||||
DocumentProcessingOutcome m3Outcome = new PreCheckFailed(
|
||||
DocumentProcessingOutcome outcome = new PreCheckFailed(
|
||||
candidate, PreCheckFailureReason.NO_USABLE_TEXT);
|
||||
|
||||
processor.process(candidate, fingerprint, m3Outcome, context, attemptStart);
|
||||
processor.process(candidate, fingerprint, outcome, context, attemptStart);
|
||||
|
||||
assertEquals(1, attemptRepo.savedAttempts.size());
|
||||
ProcessingAttempt attempt = attemptRepo.savedAttempts.get(0);
|
||||
@@ -135,10 +135,10 @@ class DocumentProcessingCoordinatorTest {
|
||||
@Test
|
||||
void process_newDocument_technicalError_persistsFailedRetryable_transientCounterOne() {
|
||||
recordRepo.setLookupResult(new DocumentUnknown());
|
||||
DocumentProcessingOutcome m3Outcome = new TechnicalDocumentError(
|
||||
DocumentProcessingOutcome outcome = new TechnicalDocumentError(
|
||||
candidate, "I/O error", null);
|
||||
|
||||
processor.process(candidate, fingerprint, m3Outcome, context, attemptStart);
|
||||
processor.process(candidate, fingerprint, outcome, context, attemptStart);
|
||||
|
||||
assertEquals(1, attemptRepo.savedAttempts.size());
|
||||
ProcessingAttempt attempt = attemptRepo.savedAttempts.get(0);
|
||||
@@ -164,10 +164,10 @@ class DocumentProcessingCoordinatorTest {
|
||||
new FailureCounters(1, 0));
|
||||
recordRepo.setLookupResult(new DocumentKnownProcessable(existingRecord));
|
||||
|
||||
DocumentProcessingOutcome m3Outcome = new PreCheckFailed(
|
||||
DocumentProcessingOutcome outcome = new PreCheckFailed(
|
||||
candidate, PreCheckFailureReason.PAGE_LIMIT_EXCEEDED);
|
||||
|
||||
processor.process(candidate, fingerprint, m3Outcome, context, attemptStart);
|
||||
processor.process(candidate, fingerprint, outcome, context, attemptStart);
|
||||
|
||||
assertEquals(1, attemptRepo.savedAttempts.size());
|
||||
ProcessingAttempt attempt = attemptRepo.savedAttempts.get(0);
|
||||
@@ -188,10 +188,10 @@ class DocumentProcessingCoordinatorTest {
|
||||
new FailureCounters(0, 2));
|
||||
recordRepo.setLookupResult(new DocumentKnownProcessable(existingRecord));
|
||||
|
||||
DocumentProcessingOutcome m3Outcome = new TechnicalDocumentError(
|
||||
DocumentProcessingOutcome outcome = new TechnicalDocumentError(
|
||||
candidate, "Timeout", null);
|
||||
|
||||
processor.process(candidate, fingerprint, m3Outcome, context, attemptStart);
|
||||
processor.process(candidate, fingerprint, outcome, context, attemptStart);
|
||||
|
||||
assertEquals(1, recordRepo.updatedRecords.size());
|
||||
DocumentRecord record = recordRepo.updatedRecords.get(0);
|
||||
@@ -208,10 +208,10 @@ class DocumentProcessingCoordinatorTest {
|
||||
new FailureCounters(0, 1));
|
||||
recordRepo.setLookupResult(new DocumentKnownProcessable(existingRecord));
|
||||
|
||||
DocumentProcessingOutcome m3Outcome = new PreCheckPassed(
|
||||
DocumentProcessingOutcome outcome = new PreCheckPassed(
|
||||
candidate, new PdfExtractionSuccess("text", new PdfPageCount(1)));
|
||||
|
||||
processor.process(candidate, fingerprint, m3Outcome, context, attemptStart);
|
||||
processor.process(candidate, fingerprint, outcome, context, attemptStart);
|
||||
|
||||
assertEquals(1, recordRepo.updatedRecords.size());
|
||||
DocumentRecord record = recordRepo.updatedRecords.get(0);
|
||||
@@ -233,10 +233,10 @@ class DocumentProcessingCoordinatorTest {
|
||||
FailureCounters.zero());
|
||||
recordRepo.setLookupResult(new DocumentTerminalSuccess(existingRecord));
|
||||
|
||||
DocumentProcessingOutcome m3Outcome = new PreCheckPassed(
|
||||
DocumentProcessingOutcome outcome = new PreCheckPassed(
|
||||
candidate, new PdfExtractionSuccess("text", new PdfPageCount(1)));
|
||||
|
||||
processor.process(candidate, fingerprint, m3Outcome, context, attemptStart);
|
||||
processor.process(candidate, fingerprint, outcome, context, attemptStart);
|
||||
|
||||
assertEquals(1, attemptRepo.savedAttempts.size());
|
||||
ProcessingAttempt attempt = attemptRepo.savedAttempts.get(0);
|
||||
@@ -261,10 +261,10 @@ class DocumentProcessingCoordinatorTest {
|
||||
new FailureCounters(2, 0));
|
||||
recordRepo.setLookupResult(new DocumentTerminalFinalFailure(existingRecord));
|
||||
|
||||
DocumentProcessingOutcome m3Outcome = new PreCheckFailed(
|
||||
DocumentProcessingOutcome outcome = new PreCheckFailed(
|
||||
candidate, PreCheckFailureReason.NO_USABLE_TEXT);
|
||||
|
||||
processor.process(candidate, fingerprint, m3Outcome, context, attemptStart);
|
||||
processor.process(candidate, fingerprint, outcome, context, attemptStart);
|
||||
|
||||
assertEquals(1, attemptRepo.savedAttempts.size());
|
||||
ProcessingAttempt attempt = attemptRepo.savedAttempts.get(0);
|
||||
@@ -304,12 +304,12 @@ class DocumentProcessingCoordinatorTest {
|
||||
void process_persistenceLookupFailure_noAttemptWritten_noException() {
|
||||
recordRepo.setLookupResult(new PersistenceLookupTechnicalFailure("DB unavailable", null));
|
||||
|
||||
DocumentProcessingOutcome m3Outcome = new PreCheckPassed(
|
||||
DocumentProcessingOutcome outcome = new PreCheckPassed(
|
||||
candidate, new PdfExtractionSuccess("text", new PdfPageCount(1)));
|
||||
|
||||
// Must not throw
|
||||
assertDoesNotThrow(() ->
|
||||
processor.process(candidate, fingerprint, m3Outcome, context, attemptStart));
|
||||
processor.process(candidate, fingerprint, outcome, context, attemptStart));
|
||||
|
||||
// No attempt written, no record created/updated
|
||||
assertEquals(0, attemptRepo.savedAttempts.size(),
|
||||
@@ -328,12 +328,12 @@ class DocumentProcessingCoordinatorTest {
|
||||
// Make the unit of work throw
|
||||
unitOfWorkPort.failOnExecute = true;
|
||||
|
||||
DocumentProcessingOutcome m3Outcome = new PreCheckPassed(
|
||||
DocumentProcessingOutcome outcome = new PreCheckPassed(
|
||||
candidate, new PdfExtractionSuccess("text", new PdfPageCount(1)));
|
||||
|
||||
// Must not propagate the exception
|
||||
assertDoesNotThrow(() ->
|
||||
processor.process(candidate, fingerprint, m3Outcome, context, attemptStart));
|
||||
processor.process(candidate, fingerprint, outcome, context, attemptStart));
|
||||
}
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
@@ -345,10 +345,10 @@ class DocumentProcessingCoordinatorTest {
|
||||
recordRepo.setLookupResult(new DocumentUnknown());
|
||||
attemptRepo.nextAttemptNumber = 3; // Simulate 2 prior attempts
|
||||
|
||||
DocumentProcessingOutcome m3Outcome = new PreCheckPassed(
|
||||
DocumentProcessingOutcome outcome = new PreCheckPassed(
|
||||
candidate, new PdfExtractionSuccess("text", new PdfPageCount(1)));
|
||||
|
||||
processor.process(candidate, fingerprint, m3Outcome, context, attemptStart);
|
||||
processor.process(candidate, fingerprint, outcome, context, attemptStart);
|
||||
|
||||
assertEquals(1, attemptRepo.savedAttempts.size());
|
||||
assertEquals(3, attemptRepo.savedAttempts.get(0).attemptNumber(),
|
||||
|
||||
@@ -635,24 +635,24 @@ class BatchRunProcessingUseCaseTest {
|
||||
public void process(
|
||||
de.gecheckt.pdf.umbenenner.domain.model.SourceDocumentCandidate candidate,
|
||||
de.gecheckt.pdf.umbenenner.domain.model.DocumentFingerprint fingerprint,
|
||||
de.gecheckt.pdf.umbenenner.domain.model.DocumentProcessingOutcome m3Outcome,
|
||||
de.gecheckt.pdf.umbenenner.domain.model.DocumentProcessingOutcome outcome,
|
||||
de.gecheckt.pdf.umbenenner.domain.model.BatchRunContext context,
|
||||
java.time.Instant attemptStart) {
|
||||
processCallCount++;
|
||||
// Delegate to super so the real logic runs (with no-op repos)
|
||||
super.process(candidate, fingerprint, m3Outcome, context, attemptStart);
|
||||
super.process(candidate, fingerprint, outcome, context, attemptStart);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void processWithM3Execution(
|
||||
public void processDeferredOutcome(
|
||||
de.gecheckt.pdf.umbenenner.domain.model.SourceDocumentCandidate candidate,
|
||||
de.gecheckt.pdf.umbenenner.domain.model.DocumentFingerprint fingerprint,
|
||||
de.gecheckt.pdf.umbenenner.domain.model.BatchRunContext context,
|
||||
java.time.Instant attemptStart,
|
||||
java.util.function.Function<de.gecheckt.pdf.umbenenner.domain.model.SourceDocumentCandidate, de.gecheckt.pdf.umbenenner.domain.model.DocumentProcessingOutcome> m3Executor) {
|
||||
java.util.function.Function<de.gecheckt.pdf.umbenenner.domain.model.SourceDocumentCandidate, de.gecheckt.pdf.umbenenner.domain.model.DocumentProcessingOutcome> pipelineExecutor) {
|
||||
processCallCount++;
|
||||
// Delegate to super so the real logic runs (with no-op repos)
|
||||
super.processWithM3Execution(candidate, fingerprint, context, attemptStart, m3Executor);
|
||||
super.processDeferredOutcome(candidate, fingerprint, context, attemptStart, pipelineExecutor);
|
||||
}
|
||||
|
||||
int processCallCount() { return processCallCount; }
|
||||
|
||||
Reference in New Issue
Block a user