Skip to content

Commit d3c867e

Browse files
committed
PN-11182: split "duplicatesCheck" by ";" to check productType in verificaDuplicati
1 parent 86345fb commit d3c867e

File tree

3 files changed

+8
-3
lines changed

3 files changed

+8
-3
lines changed

src/main/java/it/pagopa/pn/ec/consolidatore/service/impl/RicezioneEsitiCartaceoServiceImpl.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
import java.time.Duration;
3333
import java.time.OffsetDateTime;
3434
import java.util.ArrayList;
35+
import java.util.Arrays;
3536
import java.util.List;
3637

3738
import static it.pagopa.pn.ec.commons.constant.Status.BOOKED;
@@ -278,9 +279,13 @@ private Mono<OperationResultCodeResponse> verificaAttachments(
278279

279280
public Mono<RequestDto> verificaDuplicati(RequestDto requestDto, ConsolidatoreIngressPaperProgressStatusEvent progressStatusEvent) {
280281
log.debug(INVOKING_OPERATION_LABEL_WITH_ARGS, VERIFICA_DUPLICATI, progressStatusEvent);
282+
283+
String[] duplicatesCodes = duplicatesCheck.split(";");
284+
boolean shouldCheck= Arrays.stream(duplicatesCodes).anyMatch(code -> code.equals(progressStatusEvent.getProductType()));
285+
281286
return Mono.defer(() -> {
282287
Boolean passthrough = requestDto.getRequestMetadata().getPaperRequestMetadata().getDuplicateCheckPassthrough();
283-
if ((passthrough == null || !passthrough) && duplicatesCheck.contains(progressStatusEvent.getProductType())) {
288+
if ((passthrough == null || !passthrough) && shouldCheck) {
284289
log.debug(VERIFICA_DUPLICATI + ": checking {} for duplicates against events {}", progressStatusEvent,requestDto.getRequestMetadata().getEventsList());
285290
return Flux.fromIterable(requestDto.getRequestMetadata().getEventsList()).any(event -> isSameEvent(event.getPaperProgrStatus(), progressStatusEvent));
286291
}

src/test/java/it/pagopa/pn/ec/consolidatore/rest/RicezioneEsitiConsolidatoreControllerTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -971,7 +971,7 @@ void ricezioneEsitiDuplicatesCheckActiveConfigNoActivePassthroughKo() {
971971
.productType(event.getProductType())
972972
.clientRequestTimeStamp(event.getClientRequestTimeStamp())
973973
);
974-
ReflectionTestUtils.setField(ricezioneEsitiCartaceoServiceImpl, "duplicatesCheck", "ProductType|"+PRODUCT_TYPE_AR+"|OtherProductType");
974+
ReflectionTestUtils.setField(ricezioneEsitiCartaceoServiceImpl, "duplicatesCheck", "ProductType;"+PRODUCT_TYPE_AR+";OtherProductType");
975975
when(authService.clientAuth(anyString())).thenReturn(Mono.just(clientConfigurationInternalDto));
976976
when(gestoreRepositoryCall.getRichiesta(X_PAGOPA_EXTCH_SERVICE_ID_HEADER_VALUE, REQUEST_ID)).thenReturn(Mono.just(getRequestDto(BOOKED_EVENT, SENT_EVENT, con010)));
977977
when(statusPullService.paperPullService(anyString(), anyString())).thenReturn(Mono.just(new PaperProgressStatusEvent().productType(PRODUCT_TYPE_AR).iun(IUN)));

src/test/resources/cartaceo/lavorazione-cartaceo.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ lavorazione-cartaceo.max-thread-pool-size=${LavorazioneCartaceoMaxThreadPoolSize
22
pn.ec.esiti-cartaceo.parameter.name=pn-EC-esitiCartaceo
33
ricezione-esiti-pec.consider-event-without-status-as-booked=true
44
ricezione-esiti-cartaceo.consider-event-without-sent-status-as-booked=${PnEcRicezioneEsitiCartaceoConsiderEventWithoutSentStatusAsBooked:true}
5-
ricezione-esiti-cartaceo.duplicates-check=productType1|productType2|productType3
5+
ricezione-esiti-cartaceo.duplicates-check=productType1;productType2;productType3
66
ricezione-esiti-cartaceo.allowed-future-offset-duration=1m
77
lavorazione-cartaceo.max-retry-attempts=1
88
lavorazione-cartaceo.min-retry-backoff=1

0 commit comments

Comments
 (0)