Skip to content

Commit ad3759f

Browse files
authored
Merge pull request #2404 from ashok-ksharma/MOSIP-draft-pending-fixes-2
[Fixes:#2402] Remove redundant draft discard for unmatched LOST packets; workflow manager already discards REJECTED packets
2 parents 55c76f3 + c577c42 commit ad3759f

2 files changed

Lines changed: 3 additions & 28 deletions

File tree

registration-processor/core-processor/registration-processor-bio-dedupe-stage/src/main/java/io/mosip/registration/processor/biodedupe/stage/BioDedupeProcessor.java

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -635,13 +635,7 @@ private void lostPacketPostAbisIdentification(InternalRegistrationStatusDto regi
635635
regProcLogger.info(LoggerFileConstant.SESSIONID.toString(), LoggerFileConstant.REGISTRATIONID.toString(),
636636
registrationStatusDto.getRegistrationId(),
637637
BioDedupeConstants.NO_MATCH_FOUND_FOR_LOST + registrationId);
638-
// Discard the draft since this LOST packet has no biometric match.
639-
try {
640-
idrepoDraftService.idrepoDiscardDraft(registrationId);
641-
} catch (IdrepoDraftException | IdrepoDraftReprocessableException | ApisResourceAccessException e) {
642-
regProcLogger.warn(LoggerFileConstant.SESSIONID.toString(), LoggerFileConstant.REGISTRATIONID.toString(),
643-
registrationId, "Failed to discard draft on LOST no-match (non-fatal): " + e.getMessage());
644-
}
638+
// Draft discard is handled by WorkflowInternalActionVerticle.processCompleteAsRejected()
645639

646640
} else if (matchedRegIds.size() == 1) {
647641

registration-processor/core-processor/registration-processor-bio-dedupe-stage/src/test/java/io/mosip/registration/processor/biodedupe/stage/BioDedupeProcessorTest.java

Lines changed: 2 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -524,27 +524,8 @@ public void testLostPacketValidationMatchedIdEmpty() throws ApisResourceAccessEx
524524
MessageDTO messageDto = bioDedupeProcessor.process(dto, stageName);
525525
assertFalse(messageDto.getIsValid());
526526
assertFalse(messageDto.getInternalError());
527-
Mockito.verify(idrepoDraftService, Mockito.times(1)).idrepoDiscardDraft("reg1234");
528-
}
529-
530-
@Test
531-
public void testLostPacketNoMatch_DiscardThrows_StillRejectsWithoutInternalError() throws Exception {
532-
registrationStatusDto.setRegistrationId("reg1234");
533-
registrationStatusDto.setRegistrationType("LOST");
534-
Mockito.when(registrationStatusService.getRegistrationStatus(any(), any(), any(), any())).thenReturn(registrationStatusDto);
535-
Mockito.when(abisHandlerUtil.getPacketStatus(any())).thenReturn(AbisConstant.POST_ABIS_IDENTIFICATION);
536-
ProcessedMatchedResult processedMatchedResult = new ProcessedMatchedResult();
537-
processedMatchedResult.setMatchedResults(new HashSet<>());
538-
Mockito.when(abisHandlerUtil.getProcessedMatchedResult(any(), any(), anyInt(), any(), any()))
539-
.thenReturn(processedMatchedResult);
540-
Mockito.when(idrepoDraftService.idrepoDiscardDraft(anyString()))
541-
.thenThrow(new IdrepoDraftException("IDR-IDC-005", "discard failed"));
542-
543-
MessageDTO messageDto = bioDedupeProcessor.process(dto, stageName);
544-
545-
assertFalse(messageDto.getIsValid());
546-
assertFalse(messageDto.getInternalError());
547-
Mockito.verify(idrepoDraftService, Mockito.times(1)).idrepoDiscardDraft("reg1234");
527+
// Draft discard is handled by WorkflowInternalActionVerticle.processCompleteAsRejected()
528+
Mockito.verify(idrepoDraftService, Mockito.never()).idrepoDiscardDraft(anyString());
548529
}
549530

550531
@Test

0 commit comments

Comments
 (0)