From c6422d0c08e54e9b48405aae9f8b3f595fe77518 Mon Sep 17 00:00:00 2001 From: FedericoRuzzier <49512050+FedericoRuzzier@users.noreply.github.com> Date: Wed, 12 Jun 2024 15:24:21 +0200 Subject: [PATCH 01/19] PAGOPA-1837 fixing first junits --- .../gov/pagopa/wispconverter/ReceiptTest.java | 21 +++++++++---------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/src/test/java/it/gov/pagopa/wispconverter/ReceiptTest.java b/src/test/java/it/gov/pagopa/wispconverter/ReceiptTest.java index 77de6e55..ff04c501 100644 --- a/src/test/java/it/gov/pagopa/wispconverter/ReceiptTest.java +++ b/src/test/java/it/gov/pagopa/wispconverter/ReceiptTest.java @@ -1,7 +1,6 @@ package it.gov.pagopa.wispconverter; import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.*; @@ -27,7 +26,6 @@ import java.util.UUID; import java.util.zip.GZIPOutputStream; import org.junit.jupiter.api.Test; -import org.mockito.Mock; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; @@ -98,15 +96,16 @@ void success_positive() throws Exception { String station = "mystation"; org.springframework.test.util.ReflectionTestUtils.setField(configCacheService, "configData",TestUtils.configData(station)); - when(rptRequestRepository.findById(any())).thenReturn( + + when(rptRequestRepository.findById(anyString())).thenReturn( Optional.of( - RPTRequestEntity.builder().primitive("nodoInviaRPT") - .payload( - TestUtils.zipAndEncode(TestUtils.getRptPayload(false,station,"100.00","datispec")) - ).build() + RPTRequestEntity.builder() + .primitive("nodoInviaRPT") + .payload(TestUtils.zipAndEncode(TestUtils.getRptPayload(false,station,"100.00","datispec"))) + .build() ) ); - when(cacheRepository.read(any(),any())).thenReturn("asdsad"); + when(cacheRepository.read(anyString(),any())).thenReturn("wisp_nav2iuv_dominio"); mvc.perform(MockMvcRequestBuilders.post("/receipt/ok") .accept(MediaType.APPLICATION_JSON) @@ -166,8 +165,8 @@ void error_send_rt() throws Exception { ).build() ) ); - when(cacheRepository.read(any(),any())).thenReturn("asdsad"); - doThrow(new PaaInviaRTException("PAA_ERRORE_RESPONSE","PAA_ERRORE_RESPONSE","Errore PA")).doNothing().when(paaInviaRTService).send(anyString(), anyString()); + when(cacheRepository.read(any(),any())).thenReturn("wisp_nav2iuv_dominio"); + doThrow(new PaaInviaRTException("PAA_ERRORE_RESPONSE","PAA_ERRORE_RESPONSE","Errore PA")).when(paaInviaRTService).send(anyString(), anyString()); mvc.perform(MockMvcRequestBuilders.post("/receipt/ok") .accept(MediaType.APPLICATION_JSON) @@ -197,7 +196,7 @@ void error_send_rt2() throws Exception { ).build() ) ); - when(cacheRepository.read(any(),any())).thenReturn("asdsad"); + when(cacheRepository.read(any(),any())).thenReturn("wisp_nav2iuv_dominio"); doAnswer((i) -> { return new ResponseEntity<>(HttpStatusCode.valueOf(200)); }).when(paaInviaRTService).send(anyString(), anyString()); From 16b8137712633ecac962eccc3de6b4b8b3cde3e0 Mon Sep 17 00:00:00 2001 From: FedericoRuzzier <49512050+FedericoRuzzier@users.noreply.github.com> Date: Wed, 12 Jun 2024 15:39:56 +0200 Subject: [PATCH 02/19] PAGOPA-1837 fixing PaaInviaRTServiceTest --- .../java/it/gov/pagopa/wispconverter/PaaInviaRTServiceTest.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/test/java/it/gov/pagopa/wispconverter/PaaInviaRTServiceTest.java b/src/test/java/it/gov/pagopa/wispconverter/PaaInviaRTServiceTest.java index 975acec7..f7e0833a 100644 --- a/src/test/java/it/gov/pagopa/wispconverter/PaaInviaRTServiceTest.java +++ b/src/test/java/it/gov/pagopa/wispconverter/PaaInviaRTServiceTest.java @@ -28,6 +28,7 @@ public void esitoOK(){ when(client.post()).thenReturn(requestBodyUriSpec); RestClient.RequestBodySpec requestBodySpec = mock(RestClient.RequestBodySpec.class); when(requestBodyUriSpec.uri(any(URI.class))).thenReturn(requestBodySpec); + when(requestBodySpec.header(anyString(), anyString())).thenReturn(requestBodySpec); when(requestBodySpec.body(anyString())).thenReturn(requestBodySpec); RestClient.ResponseSpec responseSpec = mock(RestClient.ResponseSpec.class); From c8cc13a2c1219d5f597074e3bd15e387eb1e602b Mon Sep 17 00:00:00 2001 From: FedericoRuzzier <49512050+FedericoRuzzier@users.noreply.github.com> Date: Thu, 13 Jun 2024 12:15:22 +0200 Subject: [PATCH 03/19] PAGOPA-1837 wip RptTest --- .../service/DebtPositionService.java | 7 +- .../it/gov/pagopa/wispconverter/RptTest.java | 29 +++--- .../pagopa/wispconverter/utils/TestUtils.java | 93 +++++++++++++++++++ src/test/resources/requests/rpt.xml | 4 +- 4 files changed, 118 insertions(+), 15 deletions(-) diff --git a/src/main/java/it/gov/pagopa/wispconverter/service/DebtPositionService.java b/src/main/java/it/gov/pagopa/wispconverter/service/DebtPositionService.java index 637a97f2..4a8142e6 100644 --- a/src/main/java/it/gov/pagopa/wispconverter/service/DebtPositionService.java +++ b/src/main/java/it/gov/pagopa/wispconverter/service/DebtPositionService.java @@ -3,7 +3,12 @@ import it.gov.pagopa.gen.wispconverter.client.cache.model.ServiceDto; import it.gov.pagopa.gen.wispconverter.client.cache.model.StationDto; import it.gov.pagopa.gen.wispconverter.client.gpd.api.DebtPositionsApiApi; -import it.gov.pagopa.gen.wispconverter.client.gpd.model.*; +import it.gov.pagopa.gen.wispconverter.client.gpd.model.MultiplePaymentPositionModelDto; +import it.gov.pagopa.gen.wispconverter.client.gpd.model.PaymentOptionModelDto; +import it.gov.pagopa.gen.wispconverter.client.gpd.model.PaymentPositionModelBaseResponseDto; +import it.gov.pagopa.gen.wispconverter.client.gpd.model.PaymentPositionModelDto; +import it.gov.pagopa.gen.wispconverter.client.gpd.model.TransferMetadataModelDto; +import it.gov.pagopa.gen.wispconverter.client.gpd.model.TransferModelDto; import it.gov.pagopa.gen.wispconverter.client.iuvgenerator.api.GenerationApi; import it.gov.pagopa.gen.wispconverter.client.iuvgenerator.model.IUVGenerationResponseDto; import it.gov.pagopa.wispconverter.exception.AppErrorCodeMessageEnum; diff --git a/src/test/java/it/gov/pagopa/wispconverter/RptTest.java b/src/test/java/it/gov/pagopa/wispconverter/RptTest.java index c00324af..2f657222 100644 --- a/src/test/java/it/gov/pagopa/wispconverter/RptTest.java +++ b/src/test/java/it/gov/pagopa/wispconverter/RptTest.java @@ -1,13 +1,17 @@ package it.gov.pagopa.wispconverter; import static it.gov.pagopa.wispconverter.ConstantsTestHelper.REDIRECT_PATH; +import static it.gov.pagopa.wispconverter.utils.TestUtils.getPaymentPositionModelBaseResponseDto; +import static it.gov.pagopa.wispconverter.utils.TestUtils.getPaymentPositionModelDto; import static org.junit.Assert.*; import static org.mockito.Mockito.*; import com.azure.messaging.servicebus.ServiceBusSenderClient; import com.fasterxml.jackson.databind.ObjectMapper; +import it.gov.pagopa.gen.wispconverter.client.cache.model.StationCreditorInstitutionDto; import it.gov.pagopa.gen.wispconverter.client.iuvgenerator.model.IUVGenerationResponseDto; import it.gov.pagopa.gen.wispconverter.client.gpd.model.MultiplePaymentPositionModelDto; +import it.gov.pagopa.gen.wispconverter.client.gpd.model.PaymentPositionModelDto; import it.gov.pagopa.wispconverter.repository.RPTRequestRepository; import it.gov.pagopa.wispconverter.repository.RTRequestRepository; import it.gov.pagopa.wispconverter.repository.ReEventRepository; @@ -67,19 +71,20 @@ class RptTest { private ServiceBusSenderClient serviceBusSenderClient; @Test - void success() throws Exception { + void success_paymentPositionUpdate() throws Exception { String station = "mystation"; - org.springframework.test.util.ReflectionTestUtils.setField(configCacheService, "configData",TestUtils.configData(station)); + StationCreditorInstitutionDto stationCreditorInstitutionDto = new StationCreditorInstitutionDto(); + stationCreditorInstitutionDto.setCreditorInstitutionCode("{pa}"); + stationCreditorInstitutionDto.setSegregationCode(12L); + stationCreditorInstitutionDto.setStationCode(station); + org.springframework.test.util.ReflectionTestUtils.setField(configCacheService, "configData",TestUtils.configDataCreditorInstitutionStations(stationCreditorInstitutionDto)); HttpHeaders headers = new HttpHeaders(); headers.add("location","locationheader"); it.gov.pagopa.gen.wispconverter.client.checkout.model.CartResponseDto cartResponseDto = new it.gov.pagopa.gen.wispconverter.client.checkout.model.CartResponseDto(); cartResponseDto.setCheckoutRedirectUrl(URI.create("http://www.google.com")); TestUtils.setMock(checkoutClient, ResponseEntity.status(HttpStatus.FOUND).headers(headers).body(cartResponseDto)); - - it.gov.pagopa.gen.wispconverter.client.iuvgenerator.model.IUVGenerationResponseDto iuvGenerationModelResponseDto = new IUVGenerationResponseDto(); - iuvGenerationModelResponseDto.setIuv("00000000"); - TestUtils.setMock(iuveneratorClient,ResponseEntity.ok().body(iuvGenerationModelResponseDto)); - TestUtils.setMock(gpdClient,ResponseEntity.ok().build()); + TestUtils.setMockGet(gpdClient,ResponseEntity.ok().body(getPaymentPositionModelBaseResponseDto())); + TestUtils.setMockPut(gpdClient,ResponseEntity.ok().body(getPaymentPositionModelDto())); TestUtils.setMock(decouplerCachingClient,ResponseEntity.ok().build()); when(rptRequestRepository.findById(any())).thenReturn( Optional.of( @@ -100,18 +105,18 @@ void success() throws Exception { }); verify(checkoutClient,times(1)).invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any()); - verify(iuveneratorClient,times(1)).invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any()); - verify(gpdClient,times(1)).invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any()); + verify(gpdClient,times(2)).invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any()); verify(decouplerCachingClient,times(1)).invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any()); ArgumentCaptor argument = ArgumentCaptor.forClass(Object.class); - verify(gpdClient).invokeAPI(any(),any(),any(),any(),argument.capture(),any(),any(),any(),any(),any(),any(),any()); - MultiplePaymentPositionModelDto value = (MultiplePaymentPositionModelDto) argument.getValue(); + verify(gpdClient, times(2)).invokeAPI(any(),any(),any(),any(),argument.capture(),any(),any(),any(),any(),any(),any(),any()); + MultiplePaymentPositionModelDto value = new MultiplePaymentPositionModelDto(); + value.setPaymentPositions(List.of((PaymentPositionModelDto) argument.getValue())); assertEquals(1, value.getPaymentPositions().size()); assertEquals("TTTTTT11T11T123T", value.getPaymentPositions().get(0).getFiscalCode()); ArgumentCaptor reevents = ArgumentCaptor.forClass(ReEventDto.class); - verify(reEventRepository,times(8)).save(any()); + verify(reEventRepository,times(7)).save(any()); reevents.getAllValues(); } diff --git a/src/test/java/it/gov/pagopa/wispconverter/utils/TestUtils.java b/src/test/java/it/gov/pagopa/wispconverter/utils/TestUtils.java index 4e9bc9c8..5ad588e9 100644 --- a/src/test/java/it/gov/pagopa/wispconverter/utils/TestUtils.java +++ b/src/test/java/it/gov/pagopa/wispconverter/utils/TestUtils.java @@ -2,6 +2,7 @@ import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.when; import io.micrometer.core.instrument.util.IOUtils; @@ -12,11 +13,18 @@ import java.util.Arrays; import java.util.Base64; import java.util.HashMap; +import java.util.List; import java.util.zip.GZIPOutputStream; import it.gov.pagopa.gen.wispconverter.client.cache.model.ConnectionDto; import it.gov.pagopa.gen.wispconverter.client.cache.model.ServiceDto; +import it.gov.pagopa.gen.wispconverter.client.cache.model.StationCreditorInstitutionDto; +import it.gov.pagopa.gen.wispconverter.client.gpd.model.PaymentOptionModelDto; +import it.gov.pagopa.gen.wispconverter.client.gpd.model.PaymentOptionModelResponseDto; +import it.gov.pagopa.gen.wispconverter.client.gpd.model.PaymentPositionModelBaseResponseDto; +import it.gov.pagopa.gen.wispconverter.client.gpd.model.PaymentPositionModelDto; import org.springframework.http.HttpHeaders; +import org.springframework.http.HttpMethod; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; @@ -67,6 +75,43 @@ public static it.gov.pagopa.gen.wispconverter.client.cache.model.ConfigDataV1Dto return configDataV1; } + public static it.gov.pagopa.gen.wispconverter.client.cache.model.ConfigDataV1Dto configDataCreditorInstitutionStations + (StationCreditorInstitutionDto stationCreditorInstitutionDto){ + it.gov.pagopa.gen.wispconverter.client.cache.model.ConfigDataV1Dto configDataV1 = new it.gov.pagopa.gen.wispconverter.client.cache.model.ConfigDataV1Dto(); + configDataV1.setCreditorInstitutionStations(new HashMap<>()); + configDataV1.getCreditorInstitutionStations().put(stationCreditorInstitutionDto.getCreditorInstitutionCode(), stationCreditorInstitutionDto); + configDataV1.setStations(new HashMap<>()); + it.gov.pagopa.gen.wispconverter.client.cache.model.StationDto station = new it.gov.pagopa.gen.wispconverter.client.cache.model.StationDto(); + station.setStationCode(stationCreditorInstitutionDto.getStationCode()); + station.setConnection(new ConnectionDto()); + station.getConnection().setIp("127.0.0.1"); + station.getConnection().setPort(8888l); + station.getConnection().setProtocol(ConnectionDto.ProtocolEnum.HTTP); + station.setService(new ServiceDto()); + station.getService().setPath("/path"); + station.setRedirect(new it.gov.pagopa.gen.wispconverter.client.cache.model.RedirectDto()); + station.getRedirect().setIp("127.0.0.1"); + station.getRedirect().setPath("/redirect"); + station.getRedirect().setPort(8888l); + station.getRedirect().setProtocol(it.gov.pagopa.gen.wispconverter.client.cache.model.RedirectDto.ProtocolEnum.HTTPS); + station.getRedirect().setQueryString("param=1"); + configDataV1.getStations().put(station.getStationCode(), station); + + configDataV1.setConfigurations(new HashMap<>()); + configDataV1.getConfigurations().put("GLOBAL-istitutoAttestante.identificativoUnivocoAttestante.tipoIdentificativoUnivoco", new it.gov.pagopa.gen.wispconverter.client.cache.model.ConfigurationKeyDto().value("G")); + configDataV1.getConfigurations().put("GLOBAL-istitutoAttestante.identificativoUnivocoAttestante.codiceIdentificativoUnivoco", new it.gov.pagopa.gen.wispconverter.client.cache.model.ConfigurationKeyDto().value("codiceIdentificativoUnivoco")); + configDataV1.getConfigurations().put("GLOBAL-istitutoAttestante.denominazioneAttestante", new it.gov.pagopa.gen.wispconverter.client.cache.model.ConfigurationKeyDto().value("denominazioneAttestante")); + configDataV1.getConfigurations().put("GLOBAL-istitutoAttestante.codiceUnitOperAttestante", new it.gov.pagopa.gen.wispconverter.client.cache.model.ConfigurationKeyDto().value("codiceUnitOperAttestante")); + configDataV1.getConfigurations().put("GLOBAL-istitutoAttestante.denomUnitOperAttestante", new it.gov.pagopa.gen.wispconverter.client.cache.model.ConfigurationKeyDto().value("denomUnitOperAttestante")); + configDataV1.getConfigurations().put("GLOBAL-istitutoAttestante.indirizzoAttestante", new it.gov.pagopa.gen.wispconverter.client.cache.model.ConfigurationKeyDto().value("indirizzoAttestante")); + configDataV1.getConfigurations().put("GLOBAL-istitutoAttestante.civicoAttestante", new it.gov.pagopa.gen.wispconverter.client.cache.model.ConfigurationKeyDto().value("civicoAttestante")); + configDataV1.getConfigurations().put("GLOBAL-istitutoAttestante.capAttestante", new it.gov.pagopa.gen.wispconverter.client.cache.model.ConfigurationKeyDto().value("capAttestante")); + configDataV1.getConfigurations().put("GLOBAL-istitutoAttestante.localitaAttestante", new it.gov.pagopa.gen.wispconverter.client.cache.model.ConfigurationKeyDto().value("localitaAttestante")); + configDataV1.getConfigurations().put("GLOBAL-istitutoAttestante.provinciaAttestante", new it.gov.pagopa.gen.wispconverter.client.cache.model.ConfigurationKeyDto().value("provinciaAttestante")); + configDataV1.getConfigurations().put("GLOBAL-istitutoAttestante.nazioneAttestante", new it.gov.pagopa.gen.wispconverter.client.cache.model.ConfigurationKeyDto().value("nazioneAttestante")); + return configDataV1; + } + public static void setMock(it.gov.pagopa.gen.wispconverter.client.decouplercaching.invoker.ApiClient client, ResponseEntity response){ when(client.invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any())).thenReturn(response); when(client.parameterToMultiValueMap(any(),any(),any())).thenReturn(new HttpHeaders()); @@ -95,6 +140,22 @@ public static void setMock(it.gov.pagopa.gen.wispconverter.client.gpd.invoker.Ap when(client.selectHeaderAccept(any())).thenReturn(Arrays.asList()); when(client.selectHeaderContentType(any())).thenReturn(MediaType.APPLICATION_JSON); } + + public static void setMockGet(it.gov.pagopa.gen.wispconverter.client.gpd.invoker.ApiClient client,ResponseEntity response){ + when(client.invokeAPI(any(),eq(HttpMethod.GET),any(),any(),any(),any(),any(),any(),any(),any(),any(),any())).thenReturn(response); + when(client.parameterToMultiValueMap(any(),any(),any())).thenReturn(new HttpHeaders()); + when(client.parameterToString(any())).thenReturn(""); + when(client.selectHeaderAccept(any())).thenReturn(Arrays.asList()); + when(client.selectHeaderContentType(any())).thenReturn(MediaType.APPLICATION_JSON); + } + + public static void setMockPut(it.gov.pagopa.gen.wispconverter.client.gpd.invoker.ApiClient client,ResponseEntity response){ + when(client.invokeAPI(any(),eq(HttpMethod.PUT),any(),any(),any(),any(),any(),any(),any(),any(),any(),any())).thenReturn(response); + when(client.parameterToMultiValueMap(any(),any(),any())).thenReturn(new HttpHeaders()); + when(client.parameterToString(any())).thenReturn(""); + when(client.selectHeaderAccept(any())).thenReturn(Arrays.asList()); + when(client.selectHeaderContentType(any())).thenReturn(MediaType.APPLICATION_JSON); + } public static void setMock(it.gov.pagopa.gen.wispconverter.client.checkout.invoker.ApiClient client,ResponseEntity response){ when(client.invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any())).thenReturn(response); when(client.parameterToMultiValueMap(any(),any(),any())).thenReturn(new HttpHeaders()); @@ -166,4 +227,36 @@ public static String zipAndEncode(String p){ } } + public static PaymentPositionModelBaseResponseDto getPaymentPositionModelBaseResponseDto(){ + PaymentPositionModelBaseResponseDto paymentPositionModelBaseResponseDto = new PaymentPositionModelBaseResponseDto(); + paymentPositionModelBaseResponseDto.setOrganizationFiscalCode("org12345678"); + paymentPositionModelBaseResponseDto.setIupd("abcd-efgh-ilmn-opqr"); + paymentPositionModelBaseResponseDto.setStatus(PaymentPositionModelBaseResponseDto.StatusEnum.VALID); + paymentPositionModelBaseResponseDto.setPaymentOption(List.of(getPaymentOptionModelResponseDto())); + return paymentPositionModelBaseResponseDto; + } + + public static PaymentOptionModelResponseDto getPaymentOptionModelResponseDto(){ + PaymentOptionModelResponseDto paymentOptionModelResponseDto = new PaymentOptionModelResponseDto(); + paymentOptionModelResponseDto.setIuv("123456IUVMOCK1"); + paymentOptionModelResponseDto.setAmount(200L); + paymentOptionModelResponseDto.setNav("3123456IUVMOCK1"); + return paymentOptionModelResponseDto; + } + + public static PaymentPositionModelDto getPaymentPositionModelDto(){ + PaymentPositionModelDto paymentPositionModelDto = new PaymentPositionModelDto(); + paymentPositionModelDto.setIupd("abcd-efgh-ilmn-opqr"); + paymentPositionModelDto.setPaymentOption(List.of(getPaymentOptionModelDto())); + return paymentPositionModelDto; + } + + public static PaymentOptionModelDto getPaymentOptionModelDto(){ + PaymentOptionModelDto paymentOptionModelDto = new PaymentOptionModelDto(); + paymentOptionModelDto.setIuv("123456IUVMOCK1"); + paymentOptionModelDto.setAmount(200L); + paymentOptionModelDto.setNav("3123456IUVMOCK1"); + return paymentOptionModelDto; + } + } diff --git a/src/test/resources/requests/rpt.xml b/src/test/resources/requests/rpt.xml index 24b7a9f0..22857c6d 100644 --- a/src/test/resources/requests/rpt.xml +++ b/src/test/resources/requests/rpt.xml @@ -24,7 +24,7 @@ {dataEsecuzionePagamento} {amount} {tipoVersamento} - {iuv} + 123456IUVMOCK1 {ccp} 0 @@ -34,4 +34,4 @@ {datiSpecificiRiscossione} - \ No newline at end of file + From 8638fdd02691c62bf58e9ea1706a809d23e352e7 Mon Sep 17 00:00:00 2001 From: FedericoRuzzier <49512050+FedericoRuzzier@users.noreply.github.com> Date: Thu, 13 Jun 2024 18:20:00 +0200 Subject: [PATCH 04/19] PAGOPA-1837 wip RptTest --- .../exception/AppErrorCodeMessageEnum.java | 1 + .../it/gov/pagopa/wispconverter/RptTest.java | 61 ++++++++----------- .../pagopa/wispconverter/utils/TestUtils.java | 24 ++++++-- src/test/resources/requests/rptBollo.xml | 4 +- 4 files changed, 46 insertions(+), 44 deletions(-) diff --git a/src/main/java/it/gov/pagopa/wispconverter/exception/AppErrorCodeMessageEnum.java b/src/main/java/it/gov/pagopa/wispconverter/exception/AppErrorCodeMessageEnum.java index 6ee29803..df33f1a5 100644 --- a/src/main/java/it/gov/pagopa/wispconverter/exception/AppErrorCodeMessageEnum.java +++ b/src/main/java/it/gov/pagopa/wispconverter/exception/AppErrorCodeMessageEnum.java @@ -39,6 +39,7 @@ public enum AppErrorCodeMessageEnum { // --- Client errors --- CLIENT_APICONFIGCACHE(3000, "APIConfig cache client error", "Error while communicating with APIConfig cache service. {0}", HttpStatus.EXPECTATION_FAILED, ""), CLIENT_GPD(3001, "GPD client error", "Error while communicating with GPD service. {0}", HttpStatus.EXPECTATION_FAILED, ""), + CLIENT_GPD_DEBT_POSITION_NOT_FOUND(404, "Debt position not found", "Debt position not found", HttpStatus.NOT_FOUND, "Debt position not found"), CLIENT_IUVGENERATOR(3002, "IUV Generator client error", "Error while communicating with IUV Generator service. {0}", HttpStatus.EXPECTATION_FAILED, ""), CLIENT_DECOUPLER_CACHING(3003, "Decoupler caching client error", "Error while communicating with decoupler caching API. {0}", HttpStatus.EXPECTATION_FAILED, ""), CLIENT_CHECKOUT(3004, "Checkout error", "Error while communicating with Checkout service. {0}", HttpStatus.EXPECTATION_FAILED, ""), diff --git a/src/test/java/it/gov/pagopa/wispconverter/RptTest.java b/src/test/java/it/gov/pagopa/wispconverter/RptTest.java index 2f657222..e66c1376 100644 --- a/src/test/java/it/gov/pagopa/wispconverter/RptTest.java +++ b/src/test/java/it/gov/pagopa/wispconverter/RptTest.java @@ -58,7 +58,7 @@ class RptTest { @MockBean private RTRequestRepository rtRequestRepository; - @MockBean private it.gov.pagopa.gen.wispconverter.client.iuvgenerator.invoker.ApiClient iuveneratorClient; + @MockBean private it.gov.pagopa.gen.wispconverter.client.iuvgenerator.invoker.ApiClient iuvGeneratorClient; @MockBean private it.gov.pagopa.gen.wispconverter.client.gpd.invoker.ApiClient gpdClient; @MockBean private it.gov.pagopa.gen.wispconverter.client.checkout.invoker.ApiClient checkoutClient; @MockBean private it.gov.pagopa.gen.wispconverter.client.cache.invoker.ApiClient cacheClient; @@ -71,7 +71,7 @@ class RptTest { private ServiceBusSenderClient serviceBusSenderClient; @Test - void success_paymentPositionUpdate() throws Exception { + void success_debtPositionUpdate() throws Exception { String station = "mystation"; StationCreditorInstitutionDto stationCreditorInstitutionDto = new StationCreditorInstitutionDto(); stationCreditorInstitutionDto.setCreditorInstitutionCode("{pa}"); @@ -121,7 +121,7 @@ void success_paymentPositionUpdate() throws Exception { } @Test - void success_tassonomia() throws Exception { + void success_debtPositionCreate() throws Exception { String station = "mystation"; org.springframework.test.util.ReflectionTestUtils.setField(configCacheService, "configData",TestUtils.configData(station)); HttpHeaders headers = new HttpHeaders(); @@ -129,9 +129,10 @@ void success_tassonomia() throws Exception { TestUtils.setMock(checkoutClient, ResponseEntity.status(HttpStatus.FOUND).headers(headers).build()); IUVGenerationResponseDto iuvGenerationModelResponseDto = new IUVGenerationResponseDto(); - iuvGenerationModelResponseDto.setIuv("00000000"); - TestUtils.setMock(iuveneratorClient,ResponseEntity.ok().body(iuvGenerationModelResponseDto)); - TestUtils.setMock(gpdClient,ResponseEntity.ok().build()); + iuvGenerationModelResponseDto.setIuv("123456IUVMOCK2"); + TestUtils.setMock(iuvGeneratorClient,ResponseEntity.ok().body(iuvGenerationModelResponseDto)); + TestUtils.setMockGetException(gpdClient); + TestUtils.setMockPost(gpdClient,ResponseEntity.ok().body(getPaymentPositionModelDto())); TestUtils.setMock(decouplerCachingClient,ResponseEntity.ok().build()); when(rptRequestRepository.findById(any())).thenReturn( Optional.of( @@ -154,8 +155,8 @@ void success_tassonomia() throws Exception { }); verify(checkoutClient,times(1)).invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any()); - verify(iuveneratorClient,times(1)).invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any()); - verify(gpdClient,times(1)).invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any()); + verify(iuvGeneratorClient,times(1)).invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any()); + verify(gpdClient,times(2)).invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any()); verify(decouplerCachingClient,times(1)).invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any()); } @@ -169,8 +170,9 @@ void success_bollo() throws Exception { IUVGenerationResponseDto iuvGenerationModelResponseDto = new IUVGenerationResponseDto(); iuvGenerationModelResponseDto.setIuv("00000000"); - TestUtils.setMock(iuveneratorClient,ResponseEntity.ok().body(iuvGenerationModelResponseDto)); - TestUtils.setMock(gpdClient,ResponseEntity.ok().build()); + TestUtils.setMock(iuvGeneratorClient,ResponseEntity.ok().body(iuvGenerationModelResponseDto)); + TestUtils.setMockGetException(gpdClient); + TestUtils.setMockPost(gpdClient,ResponseEntity.ok().body(getPaymentPositionModelDto())); TestUtils.setMock(decouplerCachingClient,ResponseEntity.ok().build()); when(rptRequestRepository.findById(any())).thenReturn( Optional.of( @@ -193,28 +195,13 @@ void success_bollo() throws Exception { }); verify(checkoutClient,times(1)).invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any()); - verify(iuveneratorClient,times(1)).invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any()); - verify(gpdClient,times(1)).invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any()); + verify(iuvGeneratorClient,times(1)).invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any()); + verify(gpdClient,times(2)).invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any()); verify(decouplerCachingClient,times(1)).invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any()); } @Test - void fail_rpt_not_exists() throws Exception { - String station = "mystation"; - org.springframework.test.util.ReflectionTestUtils.setField(configCacheService, "configData",TestUtils.configData(station)); - HttpHeaders headers = new HttpHeaders(); - headers.add("location","locationheader"); - TestUtils.setMock(checkoutClient, ResponseEntity.status(HttpStatus.FOUND).headers(headers).build()); - - IUVGenerationResponseDto iuvGenerationModelResponseDto = new IUVGenerationResponseDto(); - iuvGenerationModelResponseDto.setIuv("00000000"); - doThrow(new RestClientException("fail", new RuntimeException("this test must fail"))) - .when(iuveneratorClient).invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any()); - TestUtils.setMock(gpdClient,ResponseEntity.ok().build()); - TestUtils.setMock(decouplerCachingClient,ResponseEntity.ok().build()); - when(redisSimpleTemplate.opsForValue()).thenReturn(mock(ValueOperations.class)); - - + void fail_rptNotFound() throws Exception { MvcResult resultActions = mvc.perform(MockMvcRequestBuilders.get(REDIRECT_PATH + "?sessionId=aaaaaaaaaaaa").accept(MediaType.APPLICATION_JSON)) .andExpect(MockMvcResultMatchers.status().is2xxSuccessful()).andDo( (result) -> { @@ -240,7 +227,7 @@ void fail_generic() throws Exception { IUVGenerationResponseDto iuvGenerationModelResponseDto = new IUVGenerationResponseDto(); iuvGenerationModelResponseDto.setIuv("00000000"); doThrow(new RestClientException("fail", new RuntimeException("this test must fail"))) - .when(iuveneratorClient).invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any()); + .when(iuvGeneratorClient).invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any()); TestUtils.setMock(gpdClient,ResponseEntity.ok().build()); TestUtils.setMock(decouplerCachingClient,ResponseEntity.ok().build()); when(redisSimpleTemplate.opsForValue()).thenReturn(mock(ValueOperations.class)); @@ -271,7 +258,7 @@ void fail_getNAVCodeFromIUVGenerator() throws Exception { IUVGenerationResponseDto iuvGenerationModelResponseDto = new IUVGenerationResponseDto(); iuvGenerationModelResponseDto.setIuv("00000000"); doThrow(new RestClientException("fail", new RuntimeException("this test must fail"))) - .when(iuveneratorClient).invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any()); + .when(iuvGeneratorClient).invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any()); TestUtils.setMock(gpdClient,ResponseEntity.ok().build()); TestUtils.setMock(decouplerCachingClient,ResponseEntity.ok().build()); when(rptRequestRepository.findById(any())).thenReturn( @@ -294,7 +281,7 @@ void fail_getNAVCodeFromIUVGenerator() throws Exception { } @Test - void fail_createDebtPositions() throws Exception { + void fail_debtPositionCreate() throws Exception { String station = "mystation"; org.springframework.test.util.ReflectionTestUtils.setField(configCacheService, "configData",TestUtils.configData(station)); HttpHeaders headers = new HttpHeaders(); @@ -303,7 +290,7 @@ void fail_createDebtPositions() throws Exception { IUVGenerationResponseDto iuvGenerationModelResponseDto = new IUVGenerationResponseDto(); iuvGenerationModelResponseDto.setIuv("00000000"); - TestUtils.setMock(iuveneratorClient,ResponseEntity.ok().body(iuvGenerationModelResponseDto)); + TestUtils.setMock(iuvGeneratorClient,ResponseEntity.ok().body(iuvGenerationModelResponseDto)); doThrow(new RestClientException("fail", new RuntimeException("this test must fail"))) .when(gpdClient).parameterToMultiValueMap(any(),any(),any()); TestUtils.setMock(decouplerCachingClient,ResponseEntity.ok().build()); @@ -322,7 +309,7 @@ void fail_createDebtPositions() throws Exception { mvc.perform(MockMvcRequestBuilders.get(REDIRECT_PATH + "?sessionId=aaaaaaaaaaaa").accept(MediaType.APPLICATION_JSON)) .andExpect(MockMvcResultMatchers.status().is2xxSuccessful()); - verify(iuveneratorClient,times(1)).invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any()); + verify(iuvGeneratorClient,times(1)).invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any()); verify(gpdClient,times(0)).invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any()); verify(decouplerCachingClient,times(0)).invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any()); verify(checkoutClient,times(0)).invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any()); @@ -338,7 +325,7 @@ void fail_storeRequestMappingInCache() throws Exception { IUVGenerationResponseDto iuvGenerationModelResponseDto = new IUVGenerationResponseDto(); iuvGenerationModelResponseDto.setIuv("00000000"); - TestUtils.setMock(iuveneratorClient,ResponseEntity.ok().body(iuvGenerationModelResponseDto)); + TestUtils.setMock(iuvGeneratorClient,ResponseEntity.ok().body(iuvGenerationModelResponseDto)); TestUtils.setMock(gpdClient,ResponseEntity.ok().build()); doThrow(new RestClientException("fail", new RuntimeException("this test must fail"))) .when(decouplerCachingClient) @@ -357,7 +344,7 @@ void fail_storeRequestMappingInCache() throws Exception { mvc.perform(MockMvcRequestBuilders.get(REDIRECT_PATH + "?sessionId=aaaaaaaaaaaa").accept(MediaType.APPLICATION_JSON)) .andExpect(MockMvcResultMatchers.status().is2xxSuccessful()); - verify(iuveneratorClient,times(1)).invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any()); + verify(iuvGeneratorClient,times(1)).invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any()); verify(gpdClient,times(1)).invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any()); verify(checkoutClient,times(0)).invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any()); @@ -375,7 +362,7 @@ void fail_checkout() throws Exception { IUVGenerationResponseDto iuvGenerationModelResponseDto = new IUVGenerationResponseDto(); iuvGenerationModelResponseDto.setIuv("00000000"); - TestUtils.setMock(iuveneratorClient,ResponseEntity.ok().body(iuvGenerationModelResponseDto)); + TestUtils.setMock(iuvGeneratorClient,ResponseEntity.ok().body(iuvGenerationModelResponseDto)); TestUtils.setMock(gpdClient,ResponseEntity.ok().build()); TestUtils.setMock(decouplerCachingClient,ResponseEntity.ok().build()); when(rptRequestRepository.findById(any())).thenReturn( @@ -393,7 +380,7 @@ void fail_checkout() throws Exception { mvc.perform(MockMvcRequestBuilders.get(REDIRECT_PATH + "?sessionId=aaaaaaaaaaaa").accept(MediaType.APPLICATION_JSON)) .andExpect(MockMvcResultMatchers.status().is2xxSuccessful()); - verify(iuveneratorClient,times(1)).invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any()); + verify(iuvGeneratorClient,times(1)).invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any()); verify(gpdClient,times(1)).invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any()); verify(decouplerCachingClient,times(1)).invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any()); diff --git a/src/test/java/it/gov/pagopa/wispconverter/utils/TestUtils.java b/src/test/java/it/gov/pagopa/wispconverter/utils/TestUtils.java index 5ad588e9..bf43281d 100644 --- a/src/test/java/it/gov/pagopa/wispconverter/utils/TestUtils.java +++ b/src/test/java/it/gov/pagopa/wispconverter/utils/TestUtils.java @@ -23,10 +23,10 @@ import it.gov.pagopa.gen.wispconverter.client.gpd.model.PaymentOptionModelResponseDto; import it.gov.pagopa.gen.wispconverter.client.gpd.model.PaymentPositionModelBaseResponseDto; import it.gov.pagopa.gen.wispconverter.client.gpd.model.PaymentPositionModelDto; -import org.springframework.http.HttpHeaders; -import org.springframework.http.HttpMethod; -import org.springframework.http.MediaType; -import org.springframework.http.ResponseEntity; +import it.gov.pagopa.wispconverter.exception.AppErrorCodeMessageEnum; +import it.gov.pagopa.wispconverter.exception.AppException; +import org.springframework.http.*; +import org.springframework.web.client.HttpClientErrorException; public class TestUtils { @@ -141,7 +141,7 @@ public static void setMock(it.gov.pagopa.gen.wispconverter.client.gpd.invoker.Ap when(client.selectHeaderContentType(any())).thenReturn(MediaType.APPLICATION_JSON); } - public static void setMockGet(it.gov.pagopa.gen.wispconverter.client.gpd.invoker.ApiClient client,ResponseEntity response){ + public static void setMockGet(it.gov.pagopa.gen.wispconverter.client.gpd.invoker.ApiClient client, ResponseEntity response){ when(client.invokeAPI(any(),eq(HttpMethod.GET),any(),any(),any(),any(),any(),any(),any(),any(),any(),any())).thenReturn(response); when(client.parameterToMultiValueMap(any(),any(),any())).thenReturn(new HttpHeaders()); when(client.parameterToString(any())).thenReturn(""); @@ -149,6 +149,11 @@ public static void setMockGet(it.gov.pagopa.gen.wispconverter.client.gpd.invoker when(client.selectHeaderContentType(any())).thenReturn(MediaType.APPLICATION_JSON); } + public static void setMockGetException(it.gov.pagopa.gen.wispconverter.client.gpd.invoker.ApiClient client){ + when(client.invokeAPI(any(),eq(HttpMethod.GET),any(),any(),any(),any(),any(),any(),any(),any(),any(),any())) + .thenThrow(new AppException(new HttpClientErrorException(HttpStatus.NOT_FOUND), AppErrorCodeMessageEnum.CLIENT_GPD_DEBT_POSITION_NOT_FOUND)); + } + public static void setMockPut(it.gov.pagopa.gen.wispconverter.client.gpd.invoker.ApiClient client,ResponseEntity response){ when(client.invokeAPI(any(),eq(HttpMethod.PUT),any(),any(),any(),any(),any(),any(),any(),any(),any(),any())).thenReturn(response); when(client.parameterToMultiValueMap(any(),any(),any())).thenReturn(new HttpHeaders()); @@ -156,6 +161,15 @@ public static void setMockPut(it.gov.pagopa.gen.wispconverter.client.gpd.invoker when(client.selectHeaderAccept(any())).thenReturn(Arrays.asList()); when(client.selectHeaderContentType(any())).thenReturn(MediaType.APPLICATION_JSON); } + + public static void setMockPost(it.gov.pagopa.gen.wispconverter.client.gpd.invoker.ApiClient client,ResponseEntity response){ + when(client.invokeAPI(any(),eq(HttpMethod.POST),any(),any(),any(),any(),any(),any(),any(),any(),any(),any())).thenReturn(response); + when(client.parameterToMultiValueMap(any(),any(),any())).thenReturn(new HttpHeaders()); + when(client.parameterToString(any())).thenReturn(""); + when(client.selectHeaderAccept(any())).thenReturn(Arrays.asList()); + when(client.selectHeaderContentType(any())).thenReturn(MediaType.APPLICATION_JSON); + } + public static void setMock(it.gov.pagopa.gen.wispconverter.client.checkout.invoker.ApiClient client,ResponseEntity response){ when(client.invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any())).thenReturn(response); when(client.parameterToMultiValueMap(any(),any(),any())).thenReturn(new HttpHeaders()); diff --git a/src/test/resources/requests/rptBollo.xml b/src/test/resources/requests/rptBollo.xml index 2d6194c1..29c217fe 100644 --- a/src/test/resources/requests/rptBollo.xml +++ b/src/test/resources/requests/rptBollo.xml @@ -24,7 +24,7 @@ {dataEsecuzionePagamento} {amount} {tipoVersamento} - {iuv} + 123456IUVMOCK1 {ccp} 0 @@ -44,4 +44,4 @@ - \ No newline at end of file + From 76d18429a1b6a3416cba669a70e1e3d263b813c8 Mon Sep 17 00:00:00 2001 From: FedericoRuzzier <49512050+FedericoRuzzier@users.noreply.github.com> Date: Thu, 13 Jun 2024 18:25:28 +0200 Subject: [PATCH 05/19] PAGOPA-1837 adding iuv generator error --- .../it/gov/pagopa/wispconverter/RptTest.java | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/src/test/java/it/gov/pagopa/wispconverter/RptTest.java b/src/test/java/it/gov/pagopa/wispconverter/RptTest.java index e66c1376..306503bf 100644 --- a/src/test/java/it/gov/pagopa/wispconverter/RptTest.java +++ b/src/test/java/it/gov/pagopa/wispconverter/RptTest.java @@ -215,6 +215,44 @@ void fail_rptNotFound() throws Exception { verify(gpdClient,times(0)).invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any()); verify(decouplerCachingClient,times(0)).invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any()); } + @Test + void fail_iuvGeneratorError() throws Exception { + String station = "mystation"; + org.springframework.test.util.ReflectionTestUtils.setField(configCacheService, "configData",TestUtils.configData(station)); + HttpHeaders headers = new HttpHeaders(); + headers.add("location","locationheader"); + TestUtils.setMock(checkoutClient, ResponseEntity.status(HttpStatus.FOUND).headers(headers).build()); + + IUVGenerationResponseDto iuvGenerationModelResponseDto = new IUVGenerationResponseDto(); + iuvGenerationModelResponseDto.setIuv("00000000"); + doThrow(new RestClientException("fail", new RuntimeException("this test must fail"))) + .when(iuvGeneratorClient).invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any()); + TestUtils.setMockGetException(gpdClient); + TestUtils.setMock(decouplerCachingClient,ResponseEntity.ok().build()); + when(redisSimpleTemplate.opsForValue()).thenReturn(mock(ValueOperations.class)); + when(rptRequestRepository.findById(any())).thenReturn( + Optional.of( + RPTRequestEntity.builder().primitive("nodoInviaRPT") + .payload( + TestUtils.zipAndEncode(TestUtils.getRptPayload(false,station,"100.00","datispec")) + ).build() + ) + ); + + MvcResult resultActions = mvc.perform(MockMvcRequestBuilders.get(REDIRECT_PATH + "?sessionId=aaaaaaaaaaaa").accept(MediaType.APPLICATION_JSON)) + .andExpect(MockMvcResultMatchers.status().is2xxSuccessful()).andDo( + (result) -> { + assertNotNull(result); + assertNotNull(result.getResponse()); + }).andReturn(); + assertEquals("text/html;charset=UTF-8",resultActions.getResponse().getContentType()); + String contentAsString = resultActions.getResponse().getContentAsString(); + assertTrue(contentAsString.contains("Riprova, oppure contatta l'assistenza")); + verify(iuvGeneratorClient,times(1)).invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any()); + verify(gpdClient,times(1)).invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any()); + verify(decouplerCachingClient,times(0)).invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any()); + verify(checkoutClient,times(0)).invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any()); + } @Test void fail_generic() throws Exception { From 62bba86ccc100df3a0e751fdfd9c2d5096c66c17 Mon Sep 17 00:00:00 2001 From: FedericoRuzzier <49512050+FedericoRuzzier@users.noreply.github.com> Date: Thu, 13 Jun 2024 18:40:15 +0200 Subject: [PATCH 06/19] PAGOPA-1837 fix fail create debt position test --- .../it/gov/pagopa/wispconverter/RptTest.java | 36 ++----------------- 1 file changed, 2 insertions(+), 34 deletions(-) diff --git a/src/test/java/it/gov/pagopa/wispconverter/RptTest.java b/src/test/java/it/gov/pagopa/wispconverter/RptTest.java index 306503bf..79f483c5 100644 --- a/src/test/java/it/gov/pagopa/wispconverter/RptTest.java +++ b/src/test/java/it/gov/pagopa/wispconverter/RptTest.java @@ -285,39 +285,6 @@ void fail_generic() throws Exception { verify(decouplerCachingClient,times(0)).invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any()); } - @Test - void fail_getNAVCodeFromIUVGenerator() throws Exception { - String station = "mystation"; - org.springframework.test.util.ReflectionTestUtils.setField(configCacheService, "configData",TestUtils.configData(station)); - HttpHeaders headers = new HttpHeaders(); - headers.add("location","locationheader"); - TestUtils.setMock(checkoutClient, ResponseEntity.status(HttpStatus.FOUND).headers(headers).build()); - - IUVGenerationResponseDto iuvGenerationModelResponseDto = new IUVGenerationResponseDto(); - iuvGenerationModelResponseDto.setIuv("00000000"); - doThrow(new RestClientException("fail", new RuntimeException("this test must fail"))) - .when(iuvGeneratorClient).invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any()); - TestUtils.setMock(gpdClient,ResponseEntity.ok().build()); - TestUtils.setMock(decouplerCachingClient,ResponseEntity.ok().build()); - when(rptRequestRepository.findById(any())).thenReturn( - Optional.of( - RPTRequestEntity.builder().primitive("nodoInviaRPT") - .payload( - TestUtils.zipAndEncode(TestUtils.getRptPayload(false,station,"100.00",null)) - ).build() - ) - ); - when(redisSimpleTemplate.opsForValue()).thenReturn(mock(ValueOperations.class)); - - - mvc.perform(MockMvcRequestBuilders.get(REDIRECT_PATH + "?sessionId=aaaaaaaaaaaa").accept(MediaType.APPLICATION_JSON)) - .andExpect(MockMvcResultMatchers.status().is2xxSuccessful()); - - verify(checkoutClient,times(0)).invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any()); - verify(gpdClient,times(0)).invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any()); - verify(decouplerCachingClient,times(0)).invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any()); - } - @Test void fail_debtPositionCreate() throws Exception { String station = "mystation"; @@ -329,6 +296,7 @@ void fail_debtPositionCreate() throws Exception { IUVGenerationResponseDto iuvGenerationModelResponseDto = new IUVGenerationResponseDto(); iuvGenerationModelResponseDto.setIuv("00000000"); TestUtils.setMock(iuvGeneratorClient,ResponseEntity.ok().body(iuvGenerationModelResponseDto)); + TestUtils.setMockGetException(gpdClient); doThrow(new RestClientException("fail", new RuntimeException("this test must fail"))) .when(gpdClient).parameterToMultiValueMap(any(),any(),any()); TestUtils.setMock(decouplerCachingClient,ResponseEntity.ok().build()); @@ -348,7 +316,7 @@ void fail_debtPositionCreate() throws Exception { .andExpect(MockMvcResultMatchers.status().is2xxSuccessful()); verify(iuvGeneratorClient,times(1)).invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any()); - verify(gpdClient,times(0)).invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any()); + verify(gpdClient,times(1)).invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any()); verify(decouplerCachingClient,times(0)).invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any()); verify(checkoutClient,times(0)).invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any()); } From aa707cd77d631d1a0c69da500c36a48bff86b2d0 Mon Sep 17 00:00:00 2001 From: FedericoRuzzier <49512050+FedericoRuzzier@users.noreply.github.com> Date: Fri, 14 Jun 2024 10:42:21 +0200 Subject: [PATCH 07/19] PAGOPA-1837 fix RptTest --- .../it/gov/pagopa/wispconverter/RptTest.java | 33 ++++++++----------- 1 file changed, 13 insertions(+), 20 deletions(-) diff --git a/src/test/java/it/gov/pagopa/wispconverter/RptTest.java b/src/test/java/it/gov/pagopa/wispconverter/RptTest.java index 79f483c5..3d4aa0c7 100644 --- a/src/test/java/it/gov/pagopa/wispconverter/RptTest.java +++ b/src/test/java/it/gov/pagopa/wispconverter/RptTest.java @@ -12,6 +12,7 @@ import it.gov.pagopa.gen.wispconverter.client.iuvgenerator.model.IUVGenerationResponseDto; import it.gov.pagopa.gen.wispconverter.client.gpd.model.MultiplePaymentPositionModelDto; import it.gov.pagopa.gen.wispconverter.client.gpd.model.PaymentPositionModelDto; +import it.gov.pagopa.wispconverter.exception.AppException; import it.gov.pagopa.wispconverter.repository.RPTRequestRepository; import it.gov.pagopa.wispconverter.repository.RTRequestRepository; import it.gov.pagopa.wispconverter.repository.ReEventRepository; @@ -325,18 +326,14 @@ void fail_debtPositionCreate() throws Exception { void fail_storeRequestMappingInCache() throws Exception { String station = "mystation"; org.springframework.test.util.ReflectionTestUtils.setField(configCacheService, "configData",TestUtils.configData(station)); - HttpHeaders headers = new HttpHeaders(); - headers.add("location","locationheader"); - TestUtils.setMock(checkoutClient, ResponseEntity.status(HttpStatus.FOUND).headers(headers).build()); - IUVGenerationResponseDto iuvGenerationModelResponseDto = new IUVGenerationResponseDto(); - iuvGenerationModelResponseDto.setIuv("00000000"); + iuvGenerationModelResponseDto.setIuv("123456IUVMOCK2"); TestUtils.setMock(iuvGeneratorClient,ResponseEntity.ok().body(iuvGenerationModelResponseDto)); - TestUtils.setMock(gpdClient,ResponseEntity.ok().build()); - doThrow(new RestClientException("fail", new RuntimeException("this test must fail"))) - .when(decouplerCachingClient) - .invokeAPI( - any(), any(), any(), any(), any(), any(), any(), any(), any(), any(), any(), any()); + TestUtils.setMockGetException(gpdClient); + TestUtils.setMockPost(gpdClient,ResponseEntity.ok().body(getPaymentPositionModelDto())); + doThrow(new RestClientException("fail", new RuntimeException("this test must fail"))) + .when(decouplerCachingClient) + .invokeAPI(any(), any(), any(), any(), any(), any(), any(), any(), any(), any(), any(), any()); when(rptRequestRepository.findById(any())).thenReturn( Optional.of( RPTRequestEntity.builder().primitive("nodoInviaRPT") @@ -345,31 +342,27 @@ void fail_storeRequestMappingInCache() throws Exception { ).build() ) ); - when(redisSimpleTemplate.opsForValue()).thenReturn(mock(ValueOperations.class)); mvc.perform(MockMvcRequestBuilders.get(REDIRECT_PATH + "?sessionId=aaaaaaaaaaaa").accept(MediaType.APPLICATION_JSON)) .andExpect(MockMvcResultMatchers.status().is2xxSuccessful()); verify(iuvGeneratorClient,times(1)).invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any()); - verify(gpdClient,times(1)).invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any()); + verify(gpdClient,times(2)).invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any()); verify(checkoutClient,times(0)).invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any()); - } @Test - void fail_checkout() throws Exception { + void fail_checkoutRequest() throws Exception { String station = "mystation"; org.springframework.test.util.ReflectionTestUtils.setField(configCacheService, "configData",TestUtils.configData(station)); - HttpHeaders headers = new HttpHeaders(); - headers.add("location","locationheader"); doThrow(new RestClientException("fail", new RuntimeException("this test must fail"))) .when(checkoutClient).invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any()); - IUVGenerationResponseDto iuvGenerationModelResponseDto = new IUVGenerationResponseDto(); iuvGenerationModelResponseDto.setIuv("00000000"); TestUtils.setMock(iuvGeneratorClient,ResponseEntity.ok().body(iuvGenerationModelResponseDto)); - TestUtils.setMock(gpdClient,ResponseEntity.ok().build()); + TestUtils.setMockGetException(gpdClient); + TestUtils.setMockPost(gpdClient,ResponseEntity.ok().body(getPaymentPositionModelDto())); TestUtils.setMock(decouplerCachingClient,ResponseEntity.ok().build()); when(rptRequestRepository.findById(any())).thenReturn( Optional.of( @@ -387,9 +380,9 @@ void fail_checkout() throws Exception { .andExpect(MockMvcResultMatchers.status().is2xxSuccessful()); verify(iuvGeneratorClient,times(1)).invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any()); - verify(gpdClient,times(1)).invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any()); + verify(gpdClient,times(2)).invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any()); verify(decouplerCachingClient,times(1)).invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any()); - + verify(checkoutClient,times(1)).invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any()); } } From cc26fa45b5211cd8c2540de88015ea7bf70d4e0a Mon Sep 17 00:00:00 2001 From: FedericoRuzzier <49512050+FedericoRuzzier@users.noreply.github.com> Date: Fri, 14 Jun 2024 14:50:31 +0200 Subject: [PATCH 08/19] PAGOPA-1837 fix all junit --- .../pagopa/wispconverter/CarrelloTest.java | 77 ++++++------------- .../it/gov/pagopa/wispconverter/RptTest.java | 13 ++-- .../pagopa/wispconverter/utils/TestUtils.java | 12 +-- src/test/resources/requests/rptCart.xml | 37 +++++++++ 4 files changed, 74 insertions(+), 65 deletions(-) create mode 100644 src/test/resources/requests/rptCart.xml diff --git a/src/test/java/it/gov/pagopa/wispconverter/CarrelloTest.java b/src/test/java/it/gov/pagopa/wispconverter/CarrelloTest.java index 4f122c49..8a768acb 100644 --- a/src/test/java/it/gov/pagopa/wispconverter/CarrelloTest.java +++ b/src/test/java/it/gov/pagopa/wispconverter/CarrelloTest.java @@ -1,7 +1,7 @@ package it.gov.pagopa.wispconverter; import static it.gov.pagopa.wispconverter.ConstantsTestHelper.REDIRECT_PATH; -import static it.gov.pagopa.wispconverter.exception.AppErrorCodeMessageEnum.VALIDATION_INVALID_MULTIBENEFICIARY_CART; +import static it.gov.pagopa.wispconverter.utils.TestUtils.getPaymentPositionModelDto; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertTrue; import static org.mockito.ArgumentMatchers.any; @@ -16,7 +16,11 @@ import it.gov.pagopa.wispconverter.repository.model.RPTRequestEntity; import it.gov.pagopa.wispconverter.service.ConfigCacheService; import it.gov.pagopa.wispconverter.utils.TestUtils; + +import java.net.URI; import java.util.*; + +import org.junit.Assert; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; @@ -68,53 +72,14 @@ void success() throws Exception { org.springframework.test.util.ReflectionTestUtils.setField(configCacheService, "configData",TestUtils.configData(station)); HttpHeaders headers = new HttpHeaders(); headers.add("location","locationheader"); - TestUtils.setMock(checkoutClient, ResponseEntity.status(HttpStatus.FOUND).headers(headers).build()); - + it.gov.pagopa.gen.wispconverter.client.checkout.model.CartResponseDto cartResponseDto = new it.gov.pagopa.gen.wispconverter.client.checkout.model.CartResponseDto(); + cartResponseDto.setCheckoutRedirectUrl(URI.create("http://www.google.com")); + TestUtils.setMock(checkoutClient, ResponseEntity.status(HttpStatus.FOUND).headers(headers).body(cartResponseDto)); it.gov.pagopa.gen.wispconverter.client.iuvgenerator.model.IUVGenerationResponseDto iuvGenerationModelResponseDto = new IUVGenerationResponseDto(); iuvGenerationModelResponseDto.setIuv("00000000"); TestUtils.setMock(iuveneratorClient,ResponseEntity.ok().body(iuvGenerationModelResponseDto)); - TestUtils.setMock(gpdClient,ResponseEntity.ok().build()); - TestUtils.setMock(decouplerCachingClient,ResponseEntity.ok().build()); - when(rptRequestRepository.findById(any())).thenReturn( - Optional.of( - RPTRequestEntity.builder().primitive("nodoInviaCarrelloRPT") - .payload( - TestUtils.zipAndEncode(TestUtils.getCarrelloPayload(2,station, - "100.00",true - )) - ).build() - ) - ); - when(redisSimpleTemplate.opsForValue()).thenReturn(mock(ValueOperations.class)); - - - - mvc.perform(MockMvcRequestBuilders.get(REDIRECT_PATH + "?sessionId=aaaaaaaaaaaa").accept(MediaType.APPLICATION_JSON)) - .andExpect(MockMvcResultMatchers.status().is2xxSuccessful()) - .andDo( - (result) -> { - assertNotNull(result); - assertNotNull(result.getResponse()); - }); - - verify(checkoutClient,times(1)).invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any()); - verify(iuveneratorClient,times(1)).invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any()); - verify(gpdClient,times(1)).invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any()); - verify(decouplerCachingClient,times(1)).invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any()); - } - - @Test - void success_multibeneficiario() throws Exception { - String station = "mystation"; - org.springframework.test.util.ReflectionTestUtils.setField(configCacheService, "configData",TestUtils.configData(station)); - HttpHeaders headers = new HttpHeaders(); - headers.add("location","locationheader"); - TestUtils.setMock(checkoutClient, ResponseEntity.status(HttpStatus.FOUND).headers(headers).build()); - - IUVGenerationResponseDto iuvGenerationModelResponseDto = new IUVGenerationResponseDto(); - iuvGenerationModelResponseDto.setIuv("00000000"); - TestUtils.setMock(iuveneratorClient,ResponseEntity.ok().body(iuvGenerationModelResponseDto)); - TestUtils.setMock(gpdClient,ResponseEntity.ok().build()); + TestUtils.setMockGetException(gpdClient); + TestUtils.setMockPost(gpdClient,ResponseEntity.ok().body(getPaymentPositionModelDto())); TestUtils.setMock(decouplerCachingClient,ResponseEntity.ok().build()); when(rptRequestRepository.findById(any())).thenReturn( Optional.of( @@ -131,32 +96,34 @@ void success_multibeneficiario() throws Exception { mvc.perform(MockMvcRequestBuilders.get(REDIRECT_PATH + "?sessionId=aaaaaaaaaaaa").accept(MediaType.APPLICATION_JSON)) - .andExpect(MockMvcResultMatchers.status().is2xxSuccessful()) + .andExpect(MockMvcResultMatchers.status().is(HttpStatus.FOUND.value())) .andDo( (result) -> { - assertNotNull(result); - assertNotNull(result.getResponse()); + Assert.assertNotNull(result); + Assert.assertNotNull(result.getResponse()); }); verify(checkoutClient,times(1)).invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any()); verify(iuveneratorClient,times(1)).invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any()); - verify(gpdClient,times(1)).invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any()); + verify(gpdClient,times(2)).invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any()); verify(decouplerCachingClient,times(1)).invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any()); } @Test void fail_multibeneficiario_less_rpts() throws Exception { String station = "mystation"; - TestUtils.setMock(cacheClient,ResponseEntity.ok().body(TestUtils.configData(station))); - org.springframework.test.util.ReflectionTestUtils.setField(configCacheService, "configCacheClient",cacheClient); + + org.springframework.test.util.ReflectionTestUtils.setField(configCacheService, "configData",TestUtils.configData(station)); HttpHeaders headers = new HttpHeaders(); headers.add("location","locationheader"); - TestUtils.setMock(checkoutClient, ResponseEntity.status(HttpStatus.FOUND).headers(headers).build()); - - IUVGenerationResponseDto iuvGenerationModelResponseDto = new IUVGenerationResponseDto(); + it.gov.pagopa.gen.wispconverter.client.checkout.model.CartResponseDto cartResponseDto = new it.gov.pagopa.gen.wispconverter.client.checkout.model.CartResponseDto(); + cartResponseDto.setCheckoutRedirectUrl(URI.create("http://www.google.com")); + TestUtils.setMock(checkoutClient, ResponseEntity.status(HttpStatus.FOUND).headers(headers).body(cartResponseDto)); + it.gov.pagopa.gen.wispconverter.client.iuvgenerator.model.IUVGenerationResponseDto iuvGenerationModelResponseDto = new IUVGenerationResponseDto(); iuvGenerationModelResponseDto.setIuv("00000000"); TestUtils.setMock(iuveneratorClient,ResponseEntity.ok().body(iuvGenerationModelResponseDto)); - TestUtils.setMock(gpdClient,ResponseEntity.ok().build()); + TestUtils.setMockGetException(gpdClient); + TestUtils.setMockPost(gpdClient,ResponseEntity.ok().body(getPaymentPositionModelDto())); TestUtils.setMock(decouplerCachingClient,ResponseEntity.ok().build()); when(rptRequestRepository.findById(any())).thenReturn( Optional.of( diff --git a/src/test/java/it/gov/pagopa/wispconverter/RptTest.java b/src/test/java/it/gov/pagopa/wispconverter/RptTest.java index 3d4aa0c7..b9ec6e3d 100644 --- a/src/test/java/it/gov/pagopa/wispconverter/RptTest.java +++ b/src/test/java/it/gov/pagopa/wispconverter/RptTest.java @@ -12,7 +12,6 @@ import it.gov.pagopa.gen.wispconverter.client.iuvgenerator.model.IUVGenerationResponseDto; import it.gov.pagopa.gen.wispconverter.client.gpd.model.MultiplePaymentPositionModelDto; import it.gov.pagopa.gen.wispconverter.client.gpd.model.PaymentPositionModelDto; -import it.gov.pagopa.wispconverter.exception.AppException; import it.gov.pagopa.wispconverter.repository.RPTRequestRepository; import it.gov.pagopa.wispconverter.repository.RTRequestRepository; import it.gov.pagopa.wispconverter.repository.ReEventRepository; @@ -127,7 +126,9 @@ void success_debtPositionCreate() throws Exception { org.springframework.test.util.ReflectionTestUtils.setField(configCacheService, "configData",TestUtils.configData(station)); HttpHeaders headers = new HttpHeaders(); headers.add("location","locationheader"); - TestUtils.setMock(checkoutClient, ResponseEntity.status(HttpStatus.FOUND).headers(headers).build()); + it.gov.pagopa.gen.wispconverter.client.checkout.model.CartResponseDto cartResponseDto = new it.gov.pagopa.gen.wispconverter.client.checkout.model.CartResponseDto(); + cartResponseDto.setCheckoutRedirectUrl(URI.create("http://www.google.com")); + TestUtils.setMock(checkoutClient, ResponseEntity.status(HttpStatus.FOUND).headers(headers).body(cartResponseDto)); IUVGenerationResponseDto iuvGenerationModelResponseDto = new IUVGenerationResponseDto(); iuvGenerationModelResponseDto.setIuv("123456IUVMOCK2"); @@ -148,7 +149,7 @@ void success_debtPositionCreate() throws Exception { mvc.perform(MockMvcRequestBuilders.get(REDIRECT_PATH + "?sessionId=aaaaaaaaaaaa").accept(MediaType.APPLICATION_JSON)) - .andExpect(MockMvcResultMatchers.status().is2xxSuccessful()) + .andExpect(MockMvcResultMatchers.status().is(HttpStatus.FOUND.value())) .andDo( (result) -> { assertNotNull(result); @@ -167,7 +168,9 @@ void success_bollo() throws Exception { org.springframework.test.util.ReflectionTestUtils.setField(configCacheService, "configData",TestUtils.configData(station)); HttpHeaders headers = new HttpHeaders(); headers.add("location","locationheader"); - TestUtils.setMock(checkoutClient, ResponseEntity.status(HttpStatus.FOUND).headers(headers).build()); + it.gov.pagopa.gen.wispconverter.client.checkout.model.CartResponseDto cartResponseDto = new it.gov.pagopa.gen.wispconverter.client.checkout.model.CartResponseDto(); + cartResponseDto.setCheckoutRedirectUrl(URI.create("http://www.google.com")); + TestUtils.setMock(checkoutClient, ResponseEntity.status(HttpStatus.FOUND).headers(headers).body(cartResponseDto)); IUVGenerationResponseDto iuvGenerationModelResponseDto = new IUVGenerationResponseDto(); iuvGenerationModelResponseDto.setIuv("00000000"); @@ -188,7 +191,7 @@ void success_bollo() throws Exception { mvc.perform(MockMvcRequestBuilders.get(REDIRECT_PATH + "?sessionId=aaaaaaaaaaaa").accept(MediaType.APPLICATION_JSON)) - .andExpect(MockMvcResultMatchers.status().is2xxSuccessful()) + .andExpect(MockMvcResultMatchers.status().is(HttpStatus.FOUND.value())) .andDo( (result) -> { assertNotNull(result); diff --git a/src/test/java/it/gov/pagopa/wispconverter/utils/TestUtils.java b/src/test/java/it/gov/pagopa/wispconverter/utils/TestUtils.java index bf43281d..911a6d9f 100644 --- a/src/test/java/it/gov/pagopa/wispconverter/utils/TestUtils.java +++ b/src/test/java/it/gov/pagopa/wispconverter/utils/TestUtils.java @@ -185,7 +185,7 @@ public static String getInnerRptPayload(boolean bollo,String amount,String datiS String rpt = TestUtils.loadFileContent(bollo?"/requests/rptBollo.xml":"/requests/rpt.xml"); return rpt .replace("{datiSpecificiRiscossione}",datiSpecificiRiscossione) - .replaceAll("\\{amount\\}", amount); + .replaceAll("\\{amount}", amount); } public static String getRptPayload(boolean bollo,String station,String amount,String datiSpecificiRiscossione){ @@ -195,7 +195,7 @@ public static String getRptPayload(boolean bollo,String station,String amount,St String rpt = TestUtils.loadFileContent(bollo?"/requests/rptBollo.xml":"/requests/rpt.xml"); String rptreplace = rpt .replace("{datiSpecificiRiscossione}",datiSpecificiRiscossione) - .replaceAll("\\{amount\\}", amount); + .replaceAll("\\{amount}", amount); String nodoInviaRPT = TestUtils.loadFileContent("/requests/nodoInviaRPT.xml"); return nodoInviaRPT .replace("{station}",station) @@ -203,10 +203,12 @@ public static String getRptPayload(boolean bollo,String station,String amount,St } public static String getCarrelloPayload(int numofrpt,String station,String amount,boolean multibeneficiario){ - String rpt = TestUtils.loadFileContent("/requests/rpt.xml"); - String rptreplace = rpt.replaceAll("\\{amount\\}", amount); + String rpt = TestUtils.loadFileContent("/requests/rptCart.xml"); + String rptReplaceAmount = rpt.replaceAll("\\{amount}", amount); + String iuv = "123456IUVMOCK%s"; StringBuilder listaRpt = new StringBuilder(""); for(int i=0;i"+ ""+ @@ -214,7 +216,7 @@ public static String getCarrelloPayload(int numofrpt,String station,String amoun ""+ ""+ "{rpt}" + - "").replace("{rpt}",Base64.getEncoder().encodeToString(rptreplace.getBytes(StandardCharsets.UTF_8))) + "").replace("{rpt}",Base64.getEncoder().encodeToString(rptReplaceIuv.getBytes(StandardCharsets.UTF_8))) ); } diff --git a/src/test/resources/requests/rptCart.xml b/src/test/resources/requests/rptCart.xml new file mode 100644 index 00000000..a9688c1c --- /dev/null +++ b/src/test/resources/requests/rptCart.xml @@ -0,0 +1,37 @@ + + 0 + + {pa} + + 3179612d79fa3367 + {dataOraMessaggioRichiesta}T17:13:31 + USR + + + F + TTTTTT11T11T123T + + Utente Test + + + + G + 00053070918 + + Comune di Nuoro + + + {dataEsecuzionePagamento} + {amount} + {tipoVersamento} + {iuv} + {ccp} + 0 + + {amount} + IT96R0760154321000000012345 + Pagamento di prova + {datiSpecificiRiscossione} + + + From f56317a207f5e9608ed0ae636d954a6c2f713dac Mon Sep 17 00:00:00 2001 From: FedericoRuzzier <49512050+FedericoRuzzier@users.noreply.github.com> Date: Fri, 14 Jun 2024 16:45:46 +0200 Subject: [PATCH 09/19] PAGOPA-1837 increasing coverage --- .../gov/pagopa/wispconverter/ReceiptTest.java | 7 +-- .../it/gov/pagopa/wispconverter/RptTest.java | 54 +++++++++++++++++-- .../pagopa/wispconverter/utils/TestUtils.java | 11 +++- 3 files changed, 64 insertions(+), 8 deletions(-) diff --git a/src/test/java/it/gov/pagopa/wispconverter/ReceiptTest.java b/src/test/java/it/gov/pagopa/wispconverter/ReceiptTest.java index ff04c501..ec1671be 100644 --- a/src/test/java/it/gov/pagopa/wispconverter/ReceiptTest.java +++ b/src/test/java/it/gov/pagopa/wispconverter/ReceiptTest.java @@ -127,12 +127,13 @@ void success_negative() throws Exception { String station = "mystation"; org.springframework.test.util.ReflectionTestUtils.setField(configCacheService, "configData",TestUtils.configData(station)); - when(rptRequestRepository.findById(any())).thenReturn(Optional.of(RPTRequestEntity - .builder() + when(rptRequestRepository.findById(any())) + .thenReturn(Optional.of(RPTRequestEntity.builder() .id(UUID.randomUUID().toString()) .primitive("nodoInviaRPT") .payload(TestUtils.zipAndEncode(TestUtils.getRptPayload(false,"mystation","10.00","dati"))) - .build())); + .build() + )); when(cacheRepository.read(any(),any())).thenReturn("wisp_nav2iuv_dominio"); ReceiptDto[] receiptDtos = { diff --git a/src/test/java/it/gov/pagopa/wispconverter/RptTest.java b/src/test/java/it/gov/pagopa/wispconverter/RptTest.java index b9ec6e3d..35bf1c20 100644 --- a/src/test/java/it/gov/pagopa/wispconverter/RptTest.java +++ b/src/test/java/it/gov/pagopa/wispconverter/RptTest.java @@ -1,8 +1,7 @@ package it.gov.pagopa.wispconverter; import static it.gov.pagopa.wispconverter.ConstantsTestHelper.REDIRECT_PATH; -import static it.gov.pagopa.wispconverter.utils.TestUtils.getPaymentPositionModelBaseResponseDto; -import static it.gov.pagopa.wispconverter.utils.TestUtils.getPaymentPositionModelDto; +import static it.gov.pagopa.wispconverter.utils.TestUtils.*; import static org.junit.Assert.*; import static org.mockito.Mockito.*; @@ -12,6 +11,7 @@ import it.gov.pagopa.gen.wispconverter.client.iuvgenerator.model.IUVGenerationResponseDto; import it.gov.pagopa.gen.wispconverter.client.gpd.model.MultiplePaymentPositionModelDto; import it.gov.pagopa.gen.wispconverter.client.gpd.model.PaymentPositionModelDto; +import it.gov.pagopa.wispconverter.repository.CacheRepository; import it.gov.pagopa.wispconverter.repository.RPTRequestRepository; import it.gov.pagopa.wispconverter.repository.RTRequestRepository; import it.gov.pagopa.wispconverter.repository.ReEventRepository; @@ -69,9 +69,11 @@ class RptTest { private ReEventRepository reEventRepository; @MockBean private ServiceBusSenderClient serviceBusSenderClient; + @MockBean + private CacheRepository cacheRepository; @Test - void success_debtPositionUpdate() throws Exception { + void success_debtPositionUpdateValid() throws Exception { String station = "mystation"; StationCreditorInstitutionDto stationCreditorInstitutionDto = new StationCreditorInstitutionDto(); stationCreditorInstitutionDto.setCreditorInstitutionCode("{pa}"); @@ -83,7 +85,7 @@ void success_debtPositionUpdate() throws Exception { it.gov.pagopa.gen.wispconverter.client.checkout.model.CartResponseDto cartResponseDto = new it.gov.pagopa.gen.wispconverter.client.checkout.model.CartResponseDto(); cartResponseDto.setCheckoutRedirectUrl(URI.create("http://www.google.com")); TestUtils.setMock(checkoutClient, ResponseEntity.status(HttpStatus.FOUND).headers(headers).body(cartResponseDto)); - TestUtils.setMockGet(gpdClient,ResponseEntity.ok().body(getPaymentPositionModelBaseResponseDto())); + TestUtils.setMockGet(gpdClient,ResponseEntity.ok().body(getValidPaymentPositionModelBaseResponseDto())); TestUtils.setMockPut(gpdClient,ResponseEntity.ok().body(getPaymentPositionModelDto())); TestUtils.setMock(decouplerCachingClient,ResponseEntity.ok().build()); when(rptRequestRepository.findById(any())).thenReturn( @@ -120,6 +122,50 @@ void success_debtPositionUpdate() throws Exception { reevents.getAllValues(); } + @Test + void success_debtPositionUpdateInvalid() throws Exception { + String station = "mystation"; + StationCreditorInstitutionDto stationCreditorInstitutionDto = new StationCreditorInstitutionDto(); + stationCreditorInstitutionDto.setCreditorInstitutionCode("{pa}"); + stationCreditorInstitutionDto.setSegregationCode(12L); + stationCreditorInstitutionDto.setStationCode(station); + org.springframework.test.util.ReflectionTestUtils.setField(configCacheService, "configData",TestUtils.configDataCreditorInstitutionStations(stationCreditorInstitutionDto)); + HttpHeaders headers = new HttpHeaders(); + headers.add("location","locationheader"); + it.gov.pagopa.gen.wispconverter.client.checkout.model.CartResponseDto cartResponseDto = new it.gov.pagopa.gen.wispconverter.client.checkout.model.CartResponseDto(); + cartResponseDto.setCheckoutRedirectUrl(URI.create("http://www.google.com")); + TestUtils.setMock(checkoutClient, ResponseEntity.status(HttpStatus.FOUND).headers(headers).body(cartResponseDto)); + TestUtils.setMockGet(gpdClient,ResponseEntity.ok().body(getInvalidPaymentPositionModelBaseResponseDto())); + TestUtils.setMockPut(gpdClient,ResponseEntity.ok().body(getPaymentPositionModelDto())); + TestUtils.setMock(decouplerCachingClient,ResponseEntity.ok().build()); + when(rptRequestRepository.findById(any())) + .thenReturn(Optional.of( + RPTRequestEntity.builder() + .primitive("nodoInviaRPT") + .payload(TestUtils.zipAndEncode(TestUtils.getRptPayload(false,station,"100.00",null))) + .build() + ) + ); + when(cacheRepository.read(any(),any())).thenReturn("wisp_nav2iuv_dominio"); + when(redisSimpleTemplate.opsForValue()).thenReturn(mock(ValueOperations.class)); + + mvc.perform(MockMvcRequestBuilders.get(REDIRECT_PATH + "?sessionId=aaaaaaaaaaaa").accept(MediaType.APPLICATION_JSON)) + .andExpect(MockMvcResultMatchers.status().is2xxSuccessful()) + .andDo( + (result) -> { + assertNotNull(result); + assertNotNull(result.getResponse()); + }); + + verify(gpdClient,times(1)).invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any()); + verify(decouplerCachingClient,times(0)).invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any()); + verify(checkoutClient,times(0)).invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any()); + + ArgumentCaptor reevents = ArgumentCaptor.forClass(ReEventDto.class); + verify(reEventRepository,times(9)).save(any()); + reevents.getAllValues(); + } + @Test void success_debtPositionCreate() throws Exception { String station = "mystation"; diff --git a/src/test/java/it/gov/pagopa/wispconverter/utils/TestUtils.java b/src/test/java/it/gov/pagopa/wispconverter/utils/TestUtils.java index 911a6d9f..8048faf1 100644 --- a/src/test/java/it/gov/pagopa/wispconverter/utils/TestUtils.java +++ b/src/test/java/it/gov/pagopa/wispconverter/utils/TestUtils.java @@ -243,7 +243,7 @@ public static String zipAndEncode(String p){ } } - public static PaymentPositionModelBaseResponseDto getPaymentPositionModelBaseResponseDto(){ + public static PaymentPositionModelBaseResponseDto getValidPaymentPositionModelBaseResponseDto(){ PaymentPositionModelBaseResponseDto paymentPositionModelBaseResponseDto = new PaymentPositionModelBaseResponseDto(); paymentPositionModelBaseResponseDto.setOrganizationFiscalCode("org12345678"); paymentPositionModelBaseResponseDto.setIupd("abcd-efgh-ilmn-opqr"); @@ -252,6 +252,15 @@ public static PaymentPositionModelBaseResponseDto getPaymentPositionModelBaseRes return paymentPositionModelBaseResponseDto; } + public static PaymentPositionModelBaseResponseDto getInvalidPaymentPositionModelBaseResponseDto(){ + PaymentPositionModelBaseResponseDto paymentPositionModelBaseResponseDto = new PaymentPositionModelBaseResponseDto(); + paymentPositionModelBaseResponseDto.setOrganizationFiscalCode("org12345678"); + paymentPositionModelBaseResponseDto.setIupd("abcd-efgh-ilmn-opqr"); + paymentPositionModelBaseResponseDto.setStatus(PaymentPositionModelBaseResponseDto.StatusEnum.INVALID); + paymentPositionModelBaseResponseDto.setPaymentOption(List.of(getPaymentOptionModelResponseDto())); + return paymentPositionModelBaseResponseDto; + } + public static PaymentOptionModelResponseDto getPaymentOptionModelResponseDto(){ PaymentOptionModelResponseDto paymentOptionModelResponseDto = new PaymentOptionModelResponseDto(); paymentOptionModelResponseDto.setIuv("123456IUVMOCK1"); From 008c8d7adb5f5805d63448fcdecb48092df9d77a Mon Sep 17 00:00:00 2001 From: FedericoRuzzier <49512050+FedericoRuzzier@users.noreply.github.com> Date: Fri, 14 Jun 2024 18:13:21 +0200 Subject: [PATCH 10/19] PAGOPA-1837 solving some issues --- .../exception/AppErrorCodeMessageEnum.java | 2 +- .../service/DebtPositionService.java | 8 +++--- .../wispconverter/service/ReceiptService.java | 1 - .../wispconverter/servicebus/RTConsumer.java | 8 +++--- .../AbstractAppClientLoggingInterceptor.java | 2 +- .../pagopa/wispconverter/CarrelloTest.java | 4 +-- .../pagopa/wispconverter/ConsumerTest.java | 14 +++++------ .../it/gov/pagopa/wispconverter/HomeTest.java | 4 +-- .../wispconverter/OpenApiGenerationTest.java | 2 +- .../wispconverter/PaaInviaRTServiceTest.java | 6 ++--- .../gov/pagopa/wispconverter/ReceiptTest.java | 25 ++++--------------- .../it/gov/pagopa/wispconverter/RptTest.java | 14 +++++------ .../gov/pagopa/wispconverter/ZipUtilTest.java | 7 ++---- 13 files changed, 39 insertions(+), 58 deletions(-) diff --git a/src/main/java/it/gov/pagopa/wispconverter/exception/AppErrorCodeMessageEnum.java b/src/main/java/it/gov/pagopa/wispconverter/exception/AppErrorCodeMessageEnum.java index df33f1a5..775055f2 100644 --- a/src/main/java/it/gov/pagopa/wispconverter/exception/AppErrorCodeMessageEnum.java +++ b/src/main/java/it/gov/pagopa/wispconverter/exception/AppErrorCodeMessageEnum.java @@ -39,7 +39,7 @@ public enum AppErrorCodeMessageEnum { // --- Client errors --- CLIENT_APICONFIGCACHE(3000, "APIConfig cache client error", "Error while communicating with APIConfig cache service. {0}", HttpStatus.EXPECTATION_FAILED, ""), CLIENT_GPD(3001, "GPD client error", "Error while communicating with GPD service. {0}", HttpStatus.EXPECTATION_FAILED, ""), - CLIENT_GPD_DEBT_POSITION_NOT_FOUND(404, "Debt position not found", "Debt position not found", HttpStatus.NOT_FOUND, "Debt position not found"), + CLIENT_GPD_DEBT_POSITION_NOT_FOUND(404, "Debt position not found", "", HttpStatus.NOT_FOUND, "The debt position was not found"), CLIENT_IUVGENERATOR(3002, "IUV Generator client error", "Error while communicating with IUV Generator service. {0}", HttpStatus.EXPECTATION_FAILED, ""), CLIENT_DECOUPLER_CACHING(3003, "Decoupler caching client error", "Error while communicating with decoupler caching API. {0}", HttpStatus.EXPECTATION_FAILED, ""), CLIENT_CHECKOUT(3004, "Checkout error", "Error while communicating with Checkout service. {0}", HttpStatus.EXPECTATION_FAILED, ""), diff --git a/src/main/java/it/gov/pagopa/wispconverter/service/DebtPositionService.java b/src/main/java/it/gov/pagopa/wispconverter/service/DebtPositionService.java index 4a8142e6..98473f49 100644 --- a/src/main/java/it/gov/pagopa/wispconverter/service/DebtPositionService.java +++ b/src/main/java/it/gov/pagopa/wispconverter/service/DebtPositionService.java @@ -69,6 +69,8 @@ public class DebtPositionService { private final Pattern taxonomyPattern = Pattern.compile("([^/]++/[^/]++)/?"); + private final String REST_CLIENT_LOG_STRING = "RestClientException ERROR [%s] - %s"; + @Value("${wisp-converter.poste-italiane.abi-code}") private String posteItalianeABICode; @@ -441,7 +443,7 @@ private void handleValidPaymentPosition(DebtPositionsApiApi gpdClientInstance, S generateReForUpdatedPaymentPosition(sessionData, iuv); } catch (RestClientException e) { - throw new AppException(AppErrorCodeMessageEnum.CLIENT_GPD, String.format("RestClientException ERROR [%s] - %s", e.getCause().getClass().getCanonicalName(), e.getMessage())); + throw new AppException(AppErrorCodeMessageEnum.CLIENT_GPD, String.format(REST_CLIENT_LOG_STRING, e.getCause().getClass().getCanonicalName(), e.getMessage())); } } @@ -532,7 +534,7 @@ private String generateNavCodeFromIuvGenerator(String creditorInstitutionId) { } catch (RestClientException e) { throw new AppException(AppErrorCodeMessageEnum.CLIENT_IUVGENERATOR, - String.format("RestClientException ERROR [%s] - %s", e.getCause().getClass().getCanonicalName(), e.getMessage())); + String.format(REST_CLIENT_LOG_STRING, e.getCause().getClass().getCanonicalName(), e.getMessage())); } return navCode; } @@ -557,7 +559,7 @@ private void handlePaymentPositionInsertion(DebtPositionsApiApi gpdClientInstanc generateReForBulkInsert(extractedPaymentPositions); } catch (RestClientException e) { - throw new AppException(AppErrorCodeMessageEnum.CLIENT_GPD, String.format("RestClientException ERROR [%s] - %s", e.getCause().getClass().getCanonicalName(), e.getMessage())); + throw new AppException(AppErrorCodeMessageEnum.CLIENT_GPD, String.format(REST_CLIENT_LOG_STRING, e.getCause().getClass().getCanonicalName(), e.getMessage())); } } } diff --git a/src/main/java/it/gov/pagopa/wispconverter/service/ReceiptService.java b/src/main/java/it/gov/pagopa/wispconverter/service/ReceiptService.java index 12efe2b0..d13cdffc 100644 --- a/src/main/java/it/gov/pagopa/wispconverter/service/ReceiptService.java +++ b/src/main/java/it/gov/pagopa/wispconverter/service/ReceiptService.java @@ -153,7 +153,6 @@ public void paaInviaRTOk(String payload) { gov.telematici.pagamenti.ws.papernodo.ObjectFactory objectFactory = new gov.telematici.pagamenti.ws.papernodo.ObjectFactory(); sessionData.getAllRPTs().forEach(rpt -> { - Instant now = Instant.now(); PaymentServiceProviderDto psp = psps.get(rpt.getRpt().getPayeeInstitution().getSubjectUniqueIdentifier().getCode()); IntestazionePPT intestazionePPT = generateIntestazionePPT( diff --git a/src/main/java/it/gov/pagopa/wispconverter/servicebus/RTConsumer.java b/src/main/java/it/gov/pagopa/wispconverter/servicebus/RTConsumer.java index 4528a1cb..04dedc2c 100644 --- a/src/main/java/it/gov/pagopa/wispconverter/servicebus/RTConsumer.java +++ b/src/main/java/it/gov/pagopa/wispconverter/servicebus/RTConsumer.java @@ -59,8 +59,8 @@ public void post(){ .connectionString(connectionString) .processor() .queueName(queueName) - .processMessage(context -> processMessage(context)) - .processError(context -> processError(context)) + .processMessage(this::processMessage) + .processError(this::processError) .buildProcessorClient(); } @@ -99,7 +99,7 @@ public void processMessage(ServiceBusReceivedMessageContext context) { null ); - Boolean ok = false; + boolean ok = false; try{ log.debug("[{}]Sending receipt",receiptId); paaInviaRTService.send(url,receipt.getPayload()); @@ -157,4 +157,4 @@ public void processError(ServiceBusErrorContext context) { reason, context.getException().toString()); } } -} \ No newline at end of file +} diff --git a/src/main/java/it/gov/pagopa/wispconverter/util/client/AbstractAppClientLoggingInterceptor.java b/src/main/java/it/gov/pagopa/wispconverter/util/client/AbstractAppClientLoggingInterceptor.java index 0d68fbdd..e0e544de 100644 --- a/src/main/java/it/gov/pagopa/wispconverter/util/client/AbstractAppClientLoggingInterceptor.java +++ b/src/main/java/it/gov/pagopa/wispconverter/util/client/AbstractAppClientLoggingInterceptor.java @@ -47,7 +47,7 @@ public abstract class AbstractAppClientLoggingInterceptor implements ClientHttpR private boolean requestPretty; private boolean responsePretty; - public AbstractAppClientLoggingInterceptor(RequestResponseLoggingProperties clientLoggingProperties, ReService reService, ClientServiceEnum clientServiceEnum) { + protected AbstractAppClientLoggingInterceptor(RequestResponseLoggingProperties clientLoggingProperties, ReService reService, ClientServiceEnum clientServiceEnum) { this.reService = reService; this.clientServiceEnum = clientServiceEnum; diff --git a/src/test/java/it/gov/pagopa/wispconverter/CarrelloTest.java b/src/test/java/it/gov/pagopa/wispconverter/CarrelloTest.java index 8a768acb..5b5c6d44 100644 --- a/src/test/java/it/gov/pagopa/wispconverter/CarrelloTest.java +++ b/src/test/java/it/gov/pagopa/wispconverter/CarrelloTest.java @@ -98,7 +98,7 @@ void success() throws Exception { mvc.perform(MockMvcRequestBuilders.get(REDIRECT_PATH + "?sessionId=aaaaaaaaaaaa").accept(MediaType.APPLICATION_JSON)) .andExpect(MockMvcResultMatchers.status().is(HttpStatus.FOUND.value())) .andDo( - (result) -> { + result -> { Assert.assertNotNull(result); Assert.assertNotNull(result.getResponse()); }); @@ -143,7 +143,7 @@ void fail_multibeneficiario_less_rpts() throws Exception { mvc.perform(MockMvcRequestBuilders.get(REDIRECT_PATH + "?sessionId=aaaaaaaaaaaa").accept(MediaType.APPLICATION_JSON)) .andExpect(MockMvcResultMatchers.status().is2xxSuccessful()) .andDo( - (result) -> { + result -> { assertNotNull(result); assertNotNull(result.getResponse()); assertTrue(result.getResponse().getContentAsString().contains("Riprova, oppure contatta l'assistenza")); diff --git a/src/test/java/it/gov/pagopa/wispconverter/ConsumerTest.java b/src/test/java/it/gov/pagopa/wispconverter/ConsumerTest.java index ae8cd4bd..157b8fd8 100644 --- a/src/test/java/it/gov/pagopa/wispconverter/ConsumerTest.java +++ b/src/test/java/it/gov/pagopa/wispconverter/ConsumerTest.java @@ -25,7 +25,7 @@ class ConsumerTest { @Test - void ok() throws Exception { + void ok() { ServiceBusReceivedMessageContext messageContext = mock(ServiceBusReceivedMessageContext.class); ServiceBusReceivedMessage message = mock(ServiceBusReceivedMessage.class); @@ -54,7 +54,7 @@ void ok() throws Exception { } @Test - void moreThanMax() throws Exception { + void moreThanMax() { ServiceBusReceivedMessageContext messageContext = mock(ServiceBusReceivedMessageContext.class); ServiceBusReceivedMessage message = mock(ServiceBusReceivedMessage.class); @@ -84,7 +84,7 @@ void moreThanMax() throws Exception { } @Test - void koSendToPa() throws Exception { + void koSendToPa() { ServiceBusSenderClient serviceBusSenderClient = mock(ServiceBusSenderClient.class); @@ -114,13 +114,13 @@ void koSendToPa() throws Exception { rtConsumer.processMessage(messageContext); - assertEquals(receipt.getRetry(),1); + assertEquals(1,receipt.getRetry()); verify(rtRequestRepository,times(1)).save(receipt); verify(serviceBusSenderClient,times(1)).sendMessage(any()); } @Test - public void testprocesserror(){ + void testprocesserror(){ ServiceBusErrorContext serviceBusErrorContext = mock(ServiceBusErrorContext.class); when(serviceBusErrorContext.getException()) .thenReturn(new ServiceBusException(new RuntimeException(),ServiceBusErrorSource.UNKNOWN)); @@ -129,7 +129,7 @@ public void testprocesserror(){ assertTrue(true); } @Test - public void testprocesserror2(){ + void testprocesserror2(){ ServiceBusErrorContext serviceBusErrorContext = mock(ServiceBusErrorContext.class); when(serviceBusErrorContext.getException()) .thenReturn(new ServiceBusException(new AmqpException(true, AmqpErrorCondition.MESSAGE_LOCK_LOST,"",null),ServiceBusErrorSource.UNKNOWN)); @@ -138,7 +138,7 @@ public void testprocesserror2(){ assertTrue(true); } @Test - public void testprocesserror3(){ + void testprocesserror3(){ ServiceBusErrorContext serviceBusErrorContext = mock(ServiceBusErrorContext.class); when(serviceBusErrorContext.getException()) .thenReturn(new ServiceBusException(new AmqpException(true, AmqpErrorCondition.UNAUTHORIZED_ACCESS,"",null),ServiceBusErrorSource.UNKNOWN)); diff --git a/src/test/java/it/gov/pagopa/wispconverter/HomeTest.java b/src/test/java/it/gov/pagopa/wispconverter/HomeTest.java index 41a8db09..9798b749 100644 --- a/src/test/java/it/gov/pagopa/wispconverter/HomeTest.java +++ b/src/test/java/it/gov/pagopa/wispconverter/HomeTest.java @@ -21,8 +21,6 @@ import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; import org.springframework.test.web.servlet.result.MockMvcResultMatchers; -import static org.junit.jupiter.api.Assertions.*; - @ActiveProfiles(profiles = "test") @SpringBootTest(classes = Application.class) @AutoConfigureMockMvc @@ -61,7 +59,7 @@ void slash() throws Exception { void info() throws Exception { mvc.perform(MockMvcRequestBuilders.get("/info").accept(MediaType.APPLICATION_JSON)) .andExpect(MockMvcResultMatchers.status().is2xxSuccessful()).andDo( - (result) -> { + result -> { assertNotNull(result); assertNotNull(result.getResponse()); final String content = result.getResponse().getContentAsString(); diff --git a/src/test/java/it/gov/pagopa/wispconverter/OpenApiGenerationTest.java b/src/test/java/it/gov/pagopa/wispconverter/OpenApiGenerationTest.java index d66832f4..ba5e4b44 100644 --- a/src/test/java/it/gov/pagopa/wispconverter/OpenApiGenerationTest.java +++ b/src/test/java/it/gov/pagopa/wispconverter/OpenApiGenerationTest.java @@ -59,7 +59,7 @@ void swaggerSpringPlugin() throws Exception { mvc.perform(MockMvcRequestBuilders.get("/v3/api-docs").accept(MediaType.APPLICATION_JSON)) .andExpect(MockMvcResultMatchers.status().is2xxSuccessful()) .andDo( - (result) -> { + result -> { assertNotNull(result); assertNotNull(result.getResponse()); final String content = result.getResponse().getContentAsString(); diff --git a/src/test/java/it/gov/pagopa/wispconverter/PaaInviaRTServiceTest.java b/src/test/java/it/gov/pagopa/wispconverter/PaaInviaRTServiceTest.java index f7e0833a..daa6bdc5 100644 --- a/src/test/java/it/gov/pagopa/wispconverter/PaaInviaRTServiceTest.java +++ b/src/test/java/it/gov/pagopa/wispconverter/PaaInviaRTServiceTest.java @@ -17,10 +17,10 @@ import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; -public class PaaInviaRTServiceTest { +class PaaInviaRTServiceTest { @Test - public void esitoOK(){ + void esitoOK(){ RestClient.Builder builder = mock(RestClient.Builder.class); RestClient client = mock(RestClient.class); when(builder.build()).thenReturn(client); @@ -47,7 +47,7 @@ public void esitoOK(){ } @Test - public void esitoKO(){ + void esitoKO(){ RestClient.Builder builder = mock(RestClient.Builder.class); RestClient client = mock(RestClient.class); when(builder.build()).thenReturn(client); diff --git a/src/test/java/it/gov/pagopa/wispconverter/ReceiptTest.java b/src/test/java/it/gov/pagopa/wispconverter/ReceiptTest.java index ec1671be..e5716bb6 100644 --- a/src/test/java/it/gov/pagopa/wispconverter/ReceiptTest.java +++ b/src/test/java/it/gov/pagopa/wispconverter/ReceiptTest.java @@ -7,7 +7,6 @@ import com.azure.cosmos.CosmosClientBuilder; import com.azure.messaging.servicebus.ServiceBusSenderClient; import com.fasterxml.jackson.databind.ObjectMapper; -import gov.telematici.pagamenti.ws.papernodo.PaaInviaRTRisposta; import it.gov.pagopa.wispconverter.controller.model.ReceiptRequest; import it.gov.pagopa.wispconverter.exception.PaaInviaRTException; import it.gov.pagopa.wispconverter.repository.CacheRepository; @@ -20,11 +19,8 @@ import it.gov.pagopa.wispconverter.service.PaaInviaRTServiceBusService; import it.gov.pagopa.wispconverter.service.model.ReceiptDto; import it.gov.pagopa.wispconverter.utils.TestUtils; -import java.io.ByteArrayOutputStream; -import java.io.IOException; import java.util.Optional; import java.util.UUID; -import java.util.zip.GZIPOutputStream; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; @@ -82,15 +78,6 @@ private String getPaSendRTPayload(){ return pasendrtv2; } - private byte[] zip(byte[] uncompressed) throws IOException { - ByteArrayOutputStream bais = new ByteArrayOutputStream(); - GZIPOutputStream gzipOutputStream = new GZIPOutputStream(bais); - gzipOutputStream.write(uncompressed); - gzipOutputStream.close(); - bais.close(); - return bais.toByteArray(); - } - @Test void success_positive() throws Exception { String station = "mystation"; @@ -113,7 +100,7 @@ void success_positive() throws Exception { .content(objectMapper.writeValueAsString(new ReceiptRequest(getPaSendRTPayload())))) .andExpect(MockMvcResultMatchers.status().is2xxSuccessful()) .andDo( - (result) -> { + result -> { assertNotNull(result); assertNotNull(result.getResponse()); }); @@ -145,7 +132,7 @@ void success_negative() throws Exception { .content(objectMapper.writeValueAsString(new ReceiptRequest(objectMapper.writeValueAsString(receiptDtos))))) .andExpect(MockMvcResultMatchers.status().is2xxSuccessful()) .andDo( - (result) -> { + result -> { assertNotNull(result); assertNotNull(result.getResponse()); }); @@ -175,7 +162,7 @@ void error_send_rt() throws Exception { .content(objectMapper.writeValueAsString(new ReceiptRequest(getPaSendRTPayload())))) .andExpect(MockMvcResultMatchers.status().is2xxSuccessful()) .andDo( - (result) -> { + result -> { assertNotNull(result); assertNotNull(result.getResponse()); }); @@ -198,16 +185,14 @@ void error_send_rt2() throws Exception { ) ); when(cacheRepository.read(any(),any())).thenReturn("wisp_nav2iuv_dominio"); - doAnswer((i) -> { - return new ResponseEntity<>(HttpStatusCode.valueOf(200)); - }).when(paaInviaRTService).send(anyString(), anyString()); + doAnswer(i -> new ResponseEntity<>(HttpStatusCode.valueOf(200))).when(paaInviaRTService).send(anyString(), anyString()); mvc.perform(MockMvcRequestBuilders.post("/receipt/ok") .accept(MediaType.APPLICATION_JSON) .contentType(MediaType.APPLICATION_JSON) .content(objectMapper.writeValueAsString(new ReceiptRequest(getPaSendRTPayload())))) .andExpect(MockMvcResultMatchers.status().is2xxSuccessful()) .andDo( - (result) -> { + result -> { assertNotNull(result); assertNotNull(result.getResponse()); }); diff --git a/src/test/java/it/gov/pagopa/wispconverter/RptTest.java b/src/test/java/it/gov/pagopa/wispconverter/RptTest.java index 35bf1c20..0a8b7af6 100644 --- a/src/test/java/it/gov/pagopa/wispconverter/RptTest.java +++ b/src/test/java/it/gov/pagopa/wispconverter/RptTest.java @@ -101,7 +101,7 @@ void success_debtPositionUpdateValid() throws Exception { mvc.perform(MockMvcRequestBuilders.get(REDIRECT_PATH + "?sessionId=aaaaaaaaaaaa").accept(MediaType.APPLICATION_JSON)) .andExpect(MockMvcResultMatchers.status().is(HttpStatus.FOUND.value())) .andDo( - (result) -> { + result -> { assertNotNull(result); assertNotNull(result.getResponse()); }); @@ -152,7 +152,7 @@ void success_debtPositionUpdateInvalid() throws Exception { mvc.perform(MockMvcRequestBuilders.get(REDIRECT_PATH + "?sessionId=aaaaaaaaaaaa").accept(MediaType.APPLICATION_JSON)) .andExpect(MockMvcResultMatchers.status().is2xxSuccessful()) .andDo( - (result) -> { + result -> { assertNotNull(result); assertNotNull(result.getResponse()); }); @@ -197,7 +197,7 @@ void success_debtPositionCreate() throws Exception { mvc.perform(MockMvcRequestBuilders.get(REDIRECT_PATH + "?sessionId=aaaaaaaaaaaa").accept(MediaType.APPLICATION_JSON)) .andExpect(MockMvcResultMatchers.status().is(HttpStatus.FOUND.value())) .andDo( - (result) -> { + result -> { assertNotNull(result); assertNotNull(result.getResponse()); }); @@ -239,7 +239,7 @@ void success_bollo() throws Exception { mvc.perform(MockMvcRequestBuilders.get(REDIRECT_PATH + "?sessionId=aaaaaaaaaaaa").accept(MediaType.APPLICATION_JSON)) .andExpect(MockMvcResultMatchers.status().is(HttpStatus.FOUND.value())) .andDo( - (result) -> { + result -> { assertNotNull(result); assertNotNull(result.getResponse()); }); @@ -254,7 +254,7 @@ void success_bollo() throws Exception { void fail_rptNotFound() throws Exception { MvcResult resultActions = mvc.perform(MockMvcRequestBuilders.get(REDIRECT_PATH + "?sessionId=aaaaaaaaaaaa").accept(MediaType.APPLICATION_JSON)) .andExpect(MockMvcResultMatchers.status().is2xxSuccessful()).andDo( - (result) -> { + result -> { assertNotNull(result); assertNotNull(result.getResponse()); }).andReturn(); @@ -291,7 +291,7 @@ void fail_iuvGeneratorError() throws Exception { MvcResult resultActions = mvc.perform(MockMvcRequestBuilders.get(REDIRECT_PATH + "?sessionId=aaaaaaaaaaaa").accept(MediaType.APPLICATION_JSON)) .andExpect(MockMvcResultMatchers.status().is2xxSuccessful()).andDo( - (result) -> { + result -> { assertNotNull(result); assertNotNull(result.getResponse()); }).andReturn(); @@ -323,7 +323,7 @@ void fail_generic() throws Exception { MvcResult resultActions = mvc.perform(MockMvcRequestBuilders.get(REDIRECT_PATH + "?sessionId=aaaaaaaaaaaa").accept(MediaType.APPLICATION_JSON)) .andExpect(MockMvcResultMatchers.status().is2xxSuccessful()).andDo( - (result) -> { + result -> { assertNotNull(result); assertNotNull(result.getResponse()); }).andReturn(); diff --git a/src/test/java/it/gov/pagopa/wispconverter/ZipUtilTest.java b/src/test/java/it/gov/pagopa/wispconverter/ZipUtilTest.java index 9fcf2082..1317a3ae 100644 --- a/src/test/java/it/gov/pagopa/wispconverter/ZipUtilTest.java +++ b/src/test/java/it/gov/pagopa/wispconverter/ZipUtilTest.java @@ -8,20 +8,17 @@ import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotEquals; -public class ZipUtilTest { +class ZipUtilTest { private static final String XML_STRING = ""; @Test - public void zip() throws IOException { + void zip() throws IOException { byte[] byteString = ZipUtil.zip(XML_STRING); byte[] unzip = ZipUtil.unzip(byteString); - String utf8String = ZipUtil.getUtf8String(byteString); String utf8Unzip = ZipUtil.getUtf8String(unzip); assertNotEquals(byteString, unzip); assertEquals(XML_STRING, utf8Unzip); - String s = new String(byteString); -// assertEquals(XML_STRING, s); } } From 4e83d4d2010a9276d04186116dfa71ff010ee177 Mon Sep 17 00:00:00 2001 From: FedericoRuzzier <49512050+FedericoRuzzier@users.noreply.github.com> Date: Fri, 14 Jun 2024 18:19:24 +0200 Subject: [PATCH 11/19] PAGOPA-1837 solving some issues pt2 --- .../gov/pagopa/wispconverter/service/DebtPositionService.java | 2 +- src/test/java/it/gov/pagopa/wispconverter/ConsumerTest.java | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/it/gov/pagopa/wispconverter/service/DebtPositionService.java b/src/main/java/it/gov/pagopa/wispconverter/service/DebtPositionService.java index 98473f49..a0f17324 100644 --- a/src/main/java/it/gov/pagopa/wispconverter/service/DebtPositionService.java +++ b/src/main/java/it/gov/pagopa/wispconverter/service/DebtPositionService.java @@ -69,7 +69,7 @@ public class DebtPositionService { private final Pattern taxonomyPattern = Pattern.compile("([^/]++/[^/]++)/?"); - private final String REST_CLIENT_LOG_STRING = "RestClientException ERROR [%s] - %s"; + private static final String REST_CLIENT_LOG_STRING = "RestClientException ERROR [%s] - %s"; @Value("${wisp-converter.poste-italiane.abi-code}") private String posteItalianeABICode; diff --git a/src/test/java/it/gov/pagopa/wispconverter/ConsumerTest.java b/src/test/java/it/gov/pagopa/wispconverter/ConsumerTest.java index 157b8fd8..63764694 100644 --- a/src/test/java/it/gov/pagopa/wispconverter/ConsumerTest.java +++ b/src/test/java/it/gov/pagopa/wispconverter/ConsumerTest.java @@ -147,7 +147,7 @@ void testprocesserror3(){ assertTrue(true); } @Test - public void testprocesserror4(){ + void testprocesserror4(){ ServiceBusErrorContext serviceBusErrorContext = mock(ServiceBusErrorContext.class); when(serviceBusErrorContext.getException()) .thenReturn(new ServiceBusException(new AmqpException(true, AmqpErrorCondition.SERVER_BUSY_ERROR,"",null),ServiceBusErrorSource.UNKNOWN)); @@ -156,7 +156,7 @@ public void testprocesserror4(){ assertTrue(true); } @Test - public void testprocesserror5(){ + void testprocesserror5(){ ServiceBusErrorContext serviceBusErrorContext = mock(ServiceBusErrorContext.class); when(serviceBusErrorContext.getException()) .thenReturn( From e0a4979fb972f982490d9bc89d1562c4b64b5dc4 Mon Sep 17 00:00:00 2001 From: FedericoRuzzier <49512050+FedericoRuzzier@users.noreply.github.com> Date: Mon, 17 Jun 2024 12:13:33 +0200 Subject: [PATCH 12/19] PAGOPA-1837 fixing after merge --- .../AbstractAppServerLoggingInterceptor.java | 10 ++++++---- .../java/it/gov/pagopa/wispconverter/ReceiptTest.java | 6 ------ src/test/java/it/gov/pagopa/wispconverter/RptTest.java | 2 -- 3 files changed, 6 insertions(+), 12 deletions(-) diff --git a/src/main/java/it/gov/pagopa/wispconverter/util/interceptor/AbstractAppServerLoggingInterceptor.java b/src/main/java/it/gov/pagopa/wispconverter/util/interceptor/AbstractAppServerLoggingInterceptor.java index eb1c01ce..affc648c 100644 --- a/src/main/java/it/gov/pagopa/wispconverter/util/interceptor/AbstractAppServerLoggingInterceptor.java +++ b/src/main/java/it/gov/pagopa/wispconverter/util/interceptor/AbstractAppServerLoggingInterceptor.java @@ -367,10 +367,12 @@ private void handleMDCSessionContent(HttpServletRequest request, Trace trace) { String queryString = request.getQueryString(); - // include sessionID in MDC - Matcher sessionIdMatcher = this.sessionIdPattern.matcher(queryString); - if (sessionIdMatcher.find()) { - MDC.put(Constants.MDC_SESSION_ID, sessionIdMatcher.group(1)); + if(queryString != null) { + // include sessionID in MDC + Matcher sessionIdMatcher = this.sessionIdPattern.matcher(queryString); + if (sessionIdMatcher.find()) { + MDC.put(Constants.MDC_SESSION_ID, sessionIdMatcher.group(1)); + } } } } diff --git a/src/test/java/it/gov/pagopa/wispconverter/ReceiptTest.java b/src/test/java/it/gov/pagopa/wispconverter/ReceiptTest.java index e5716bb6..f1a09741 100644 --- a/src/test/java/it/gov/pagopa/wispconverter/ReceiptTest.java +++ b/src/test/java/it/gov/pagopa/wispconverter/ReceiptTest.java @@ -105,8 +105,6 @@ void success_positive() throws Exception { assertNotNull(result.getResponse()); }); - - verify(reEventRepository,times(5)).save(any()); } @Test @@ -136,8 +134,6 @@ void success_negative() throws Exception { assertNotNull(result); assertNotNull(result.getResponse()); }); - - verify(reEventRepository,times(5)).save(any()); } @Test @@ -168,7 +164,6 @@ void error_send_rt() throws Exception { }); verify(paaInviaRTService, times(1)).send(anyString(), anyString()); - verify(reEventRepository,times(6)).save(any()); } @Test @@ -198,7 +193,6 @@ void error_send_rt2() throws Exception { }); verify(paaInviaRTService, times(1)).send(anyString(), anyString()); - verify(reEventRepository,times(5)).save(any()); } } diff --git a/src/test/java/it/gov/pagopa/wispconverter/RptTest.java b/src/test/java/it/gov/pagopa/wispconverter/RptTest.java index 0a8b7af6..835195c2 100644 --- a/src/test/java/it/gov/pagopa/wispconverter/RptTest.java +++ b/src/test/java/it/gov/pagopa/wispconverter/RptTest.java @@ -118,7 +118,6 @@ void success_debtPositionUpdateValid() throws Exception { assertEquals("TTTTTT11T11T123T", value.getPaymentPositions().get(0).getFiscalCode()); ArgumentCaptor reevents = ArgumentCaptor.forClass(ReEventDto.class); - verify(reEventRepository,times(7)).save(any()); reevents.getAllValues(); } @@ -162,7 +161,6 @@ void success_debtPositionUpdateInvalid() throws Exception { verify(checkoutClient,times(0)).invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any()); ArgumentCaptor reevents = ArgumentCaptor.forClass(ReEventDto.class); - verify(reEventRepository,times(9)).save(any()); reevents.getAllValues(); } From 445e33805d876c0c78dc96ed35ca652274a49762 Mon Sep 17 00:00:00 2001 From: FedericoRuzzier <49512050+FedericoRuzzier@users.noreply.github.com> Date: Mon, 17 Jun 2024 13:01:42 +0200 Subject: [PATCH 13/19] PAGOPA-1837 case null iban --- .../it/gov/pagopa/wispconverter/RptTest.java | 44 +++++++++++++++++++ .../pagopa/wispconverter/utils/TestUtils.java | 14 ++++++ src/test/resources/requests/rptNullIban.xml | 36 +++++++++++++++ 3 files changed, 94 insertions(+) create mode 100644 src/test/resources/requests/rptNullIban.xml diff --git a/src/test/java/it/gov/pagopa/wispconverter/RptTest.java b/src/test/java/it/gov/pagopa/wispconverter/RptTest.java index 835195c2..cdf39f58 100644 --- a/src/test/java/it/gov/pagopa/wispconverter/RptTest.java +++ b/src/test/java/it/gov/pagopa/wispconverter/RptTest.java @@ -432,4 +432,48 @@ void fail_checkoutRequest() throws Exception { verify(checkoutClient,times(1)).invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any()); } + @Test + void fail_ibanNullValue() throws Exception { + String station = "mystation"; + org.springframework.test.util.ReflectionTestUtils.setField(configCacheService, "configData",TestUtils.configData(station)); + HttpHeaders headers = new HttpHeaders(); + headers.add("location","locationheader"); + it.gov.pagopa.gen.wispconverter.client.checkout.model.CartResponseDto cartResponseDto = new it.gov.pagopa.gen.wispconverter.client.checkout.model.CartResponseDto(); + cartResponseDto.setCheckoutRedirectUrl(URI.create("http://www.google.com")); + TestUtils.setMock(checkoutClient, ResponseEntity.status(HttpStatus.FOUND).headers(headers).body(cartResponseDto)); + + IUVGenerationResponseDto iuvGenerationModelResponseDto = new IUVGenerationResponseDto(); + iuvGenerationModelResponseDto.setIuv("123456IUVMOCK2"); + TestUtils.setMock(iuvGeneratorClient,ResponseEntity.ok().body(iuvGenerationModelResponseDto)); + TestUtils.setMockGetException(gpdClient); + TestUtils.setMockPost(gpdClient,ResponseEntity.ok().body(getPaymentPositionModelDto())); + TestUtils.setMock(decouplerCachingClient,ResponseEntity.ok().build()); + when(rptRequestRepository.findById(any())).thenReturn( + Optional.of( + RPTRequestEntity.builder().primitive("nodoInviaRPT") + .payload( + TestUtils.zipAndEncode(TestUtils.getRptNullIbanPayload(false,station,"100.00","datispec")) + ).build() + ) + ); + when(redisSimpleTemplate.opsForValue()).thenReturn(mock(ValueOperations.class)); + + + + MvcResult resultActions = mvc.perform(MockMvcRequestBuilders.get(REDIRECT_PATH + "?sessionId=aaaaaaaaaaaa").accept(MediaType.APPLICATION_JSON)) + .andExpect(MockMvcResultMatchers.status().is2xxSuccessful()).andDo( + result -> { + assertNotNull(result); + assertNotNull(result.getResponse()); + }).andReturn(); + assertEquals("text/html;charset=UTF-8",resultActions.getResponse().getContentType()); + String contentAsString = resultActions.getResponse().getContentAsString(); + assertTrue(contentAsString.contains("Riprova, oppure contatta l'assistenza")); + + verify(checkoutClient,times(0)).invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any()); + verify(iuvGeneratorClient,times(0)).invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any()); + verify(gpdClient,times(0)).invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any()); + verify(decouplerCachingClient,times(0)).invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any()); + } + } diff --git a/src/test/java/it/gov/pagopa/wispconverter/utils/TestUtils.java b/src/test/java/it/gov/pagopa/wispconverter/utils/TestUtils.java index 8048faf1..6d6ba2a9 100644 --- a/src/test/java/it/gov/pagopa/wispconverter/utils/TestUtils.java +++ b/src/test/java/it/gov/pagopa/wispconverter/utils/TestUtils.java @@ -202,6 +202,20 @@ public static String getRptPayload(boolean bollo,String station,String amount,St .replace("{rpt}", Base64.getEncoder().encodeToString(rptreplace.getBytes(StandardCharsets.UTF_8))); } + public static String getRptNullIbanPayload(boolean bollo,String station,String amount,String datiSpecificiRiscossione){ + if(datiSpecificiRiscossione==null){ + datiSpecificiRiscossione = "9/tipodovuto_7/datospecifico"; + } + String rpt = TestUtils.loadFileContent("/requests/rptNullIban.xml"); + String rptreplace = rpt + .replace("{datiSpecificiRiscossione}",datiSpecificiRiscossione) + .replaceAll("\\{amount}", amount); + String nodoInviaRPT = TestUtils.loadFileContent("/requests/nodoInviaRPT.xml"); + return nodoInviaRPT + .replace("{station}",station) + .replace("{rpt}", Base64.getEncoder().encodeToString(rptreplace.getBytes(StandardCharsets.UTF_8))); + } + public static String getCarrelloPayload(int numofrpt,String station,String amount,boolean multibeneficiario){ String rpt = TestUtils.loadFileContent("/requests/rptCart.xml"); String rptReplaceAmount = rpt.replaceAll("\\{amount}", amount); diff --git a/src/test/resources/requests/rptNullIban.xml b/src/test/resources/requests/rptNullIban.xml new file mode 100644 index 00000000..a4400baf --- /dev/null +++ b/src/test/resources/requests/rptNullIban.xml @@ -0,0 +1,36 @@ + + 0 + + {pa} + + 3179612d79fa3366 + {dataOraMessaggioRichiesta}T17:13:30 + USR + + + F + TTTTTT11T11T123T + + Utente Test + + + + G + 00053070918 + + Comune di Nuoro + + + {dataEsecuzionePagamento} + {amount} + {tipoVersamento} + 123456IUVMOCK1 + {ccp} + 0 + + {amount} + Pagamento di prova + {datiSpecificiRiscossione} + + + From ae98ea5b77a98945f27afdab0af0640732c6c185 Mon Sep 17 00:00:00 2001 From: FedericoRuzzier <49512050+FedericoRuzzier@users.noreply.github.com> Date: Mon, 17 Jun 2024 13:05:31 +0200 Subject: [PATCH 14/19] PAGOPA-1837 case debt position null --- .../it/gov/pagopa/wispconverter/RptTest.java | 45 ++++++++++++++----- 1 file changed, 33 insertions(+), 12 deletions(-) diff --git a/src/test/java/it/gov/pagopa/wispconverter/RptTest.java b/src/test/java/it/gov/pagopa/wispconverter/RptTest.java index cdf39f58..3ece1e9b 100644 --- a/src/test/java/it/gov/pagopa/wispconverter/RptTest.java +++ b/src/test/java/it/gov/pagopa/wispconverter/RptTest.java @@ -436,18 +436,6 @@ void fail_checkoutRequest() throws Exception { void fail_ibanNullValue() throws Exception { String station = "mystation"; org.springframework.test.util.ReflectionTestUtils.setField(configCacheService, "configData",TestUtils.configData(station)); - HttpHeaders headers = new HttpHeaders(); - headers.add("location","locationheader"); - it.gov.pagopa.gen.wispconverter.client.checkout.model.CartResponseDto cartResponseDto = new it.gov.pagopa.gen.wispconverter.client.checkout.model.CartResponseDto(); - cartResponseDto.setCheckoutRedirectUrl(URI.create("http://www.google.com")); - TestUtils.setMock(checkoutClient, ResponseEntity.status(HttpStatus.FOUND).headers(headers).body(cartResponseDto)); - - IUVGenerationResponseDto iuvGenerationModelResponseDto = new IUVGenerationResponseDto(); - iuvGenerationModelResponseDto.setIuv("123456IUVMOCK2"); - TestUtils.setMock(iuvGeneratorClient,ResponseEntity.ok().body(iuvGenerationModelResponseDto)); - TestUtils.setMockGetException(gpdClient); - TestUtils.setMockPost(gpdClient,ResponseEntity.ok().body(getPaymentPositionModelDto())); - TestUtils.setMock(decouplerCachingClient,ResponseEntity.ok().build()); when(rptRequestRepository.findById(any())).thenReturn( Optional.of( RPTRequestEntity.builder().primitive("nodoInviaRPT") @@ -476,4 +464,37 @@ void fail_ibanNullValue() throws Exception { verify(decouplerCachingClient,times(0)).invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any()); } + @Test + void fail_nullDebtPosition() throws Exception { + String station = "mystation"; + org.springframework.test.util.ReflectionTestUtils.setField(configCacheService, "configData",TestUtils.configData(station)); + + TestUtils.setMock(gpdClient, ResponseEntity.ok().build()); + when(rptRequestRepository.findById(any())).thenReturn( + Optional.of( + RPTRequestEntity.builder().primitive("nodoInviaRPT") + .payload( + TestUtils.zipAndEncode(TestUtils.getRptPayload(false,station,"100.00","datispec")) + ).build() + ) + ); + when(redisSimpleTemplate.opsForValue()).thenReturn(mock(ValueOperations.class)); + + + + MvcResult resultActions = mvc.perform(MockMvcRequestBuilders.get(REDIRECT_PATH + "?sessionId=aaaaaaaaaaaa").accept(MediaType.APPLICATION_JSON)) + .andExpect(MockMvcResultMatchers.status().is2xxSuccessful()).andDo( + result -> { + assertNotNull(result); + assertNotNull(result.getResponse()); + }).andReturn(); + assertEquals("text/html;charset=UTF-8",resultActions.getResponse().getContentType()); + String contentAsString = resultActions.getResponse().getContentAsString(); + assertTrue(contentAsString.contains("Riprova, oppure contatta l'assistenza")); + + verify(checkoutClient,times(0)).invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any()); + verify(iuvGeneratorClient,times(0)).invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any()); + verify(gpdClient,times(1)).invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any()); + verify(decouplerCachingClient,times(0)).invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any()); + } } From 8a594254676b656d7bfbb08df85ebd85cdf59314 Mon Sep 17 00:00:00 2001 From: FedericoRuzzier <49512050+FedericoRuzzier@users.noreply.github.com> Date: Mon, 17 Jun 2024 13:06:17 +0200 Subject: [PATCH 15/19] PAGOPA-1837 remove issue --- src/test/java/it/gov/pagopa/wispconverter/utils/TestUtils.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/java/it/gov/pagopa/wispconverter/utils/TestUtils.java b/src/test/java/it/gov/pagopa/wispconverter/utils/TestUtils.java index 6d6ba2a9..aee1d800 100644 --- a/src/test/java/it/gov/pagopa/wispconverter/utils/TestUtils.java +++ b/src/test/java/it/gov/pagopa/wispconverter/utils/TestUtils.java @@ -202,7 +202,7 @@ public static String getRptPayload(boolean bollo,String station,String amount,St .replace("{rpt}", Base64.getEncoder().encodeToString(rptreplace.getBytes(StandardCharsets.UTF_8))); } - public static String getRptNullIbanPayload(boolean bollo,String station,String amount,String datiSpecificiRiscossione){ + public static String getRptNullIbanPayload(String station,String amount,String datiSpecificiRiscossione){ if(datiSpecificiRiscossione==null){ datiSpecificiRiscossione = "9/tipodovuto_7/datospecifico"; } From 6a245767cb06a934c2917ddabfae15aeb9719222 Mon Sep 17 00:00:00 2001 From: FedericoRuzzier <49512050+FedericoRuzzier@users.noreply.github.com> Date: Mon, 17 Jun 2024 13:13:28 +0200 Subject: [PATCH 16/19] PAGOPA-1837 debt position bad request --- .../exception/AppErrorCodeMessageEnum.java | 1 + .../pagopa/wispconverter/CarrelloTest.java | 4 +- .../it/gov/pagopa/wispconverter/RptTest.java | 53 +++++++++++++------ .../pagopa/wispconverter/utils/TestUtils.java | 7 ++- 4 files changed, 45 insertions(+), 20 deletions(-) diff --git a/src/main/java/it/gov/pagopa/wispconverter/exception/AppErrorCodeMessageEnum.java b/src/main/java/it/gov/pagopa/wispconverter/exception/AppErrorCodeMessageEnum.java index 8b735cba..907ed280 100644 --- a/src/main/java/it/gov/pagopa/wispconverter/exception/AppErrorCodeMessageEnum.java +++ b/src/main/java/it/gov/pagopa/wispconverter/exception/AppErrorCodeMessageEnum.java @@ -44,6 +44,7 @@ public enum AppErrorCodeMessageEnum { CLIENT_APICONFIGCACHE(3000, "APIConfig cache client error", "Error while communicating with APIConfig cache service. {0}", HttpStatus.EXPECTATION_FAILED, ""), CLIENT_GPD(3001, "GPD client error", "Error while communicating with GPD service. {0}", HttpStatus.EXPECTATION_FAILED, ""), CLIENT_GPD_DEBT_POSITION_NOT_FOUND(404, "Debt position not found", "", HttpStatus.NOT_FOUND, "The debt position was not found"), + CLIENT_GPD_DEBT_POSITION_BAD_REQUEST(400, "Debt position bad request", "", HttpStatus.BAD_REQUEST, "The debt position request is malformed"), CLIENT_IUVGENERATOR(3002, "IUV Generator client error", "Error while communicating with IUV Generator service. {0}", HttpStatus.EXPECTATION_FAILED, ""), CLIENT_DECOUPLER_CACHING(3003, "Decoupler caching client error", "Error while communicating with decoupler caching API. {0}", HttpStatus.EXPECTATION_FAILED, ""), CLIENT_CHECKOUT(3004, "Checkout error", "Error while communicating with Checkout service. {0}", HttpStatus.EXPECTATION_FAILED, ""), diff --git a/src/test/java/it/gov/pagopa/wispconverter/CarrelloTest.java b/src/test/java/it/gov/pagopa/wispconverter/CarrelloTest.java index 5b5c6d44..29129d24 100644 --- a/src/test/java/it/gov/pagopa/wispconverter/CarrelloTest.java +++ b/src/test/java/it/gov/pagopa/wispconverter/CarrelloTest.java @@ -78,7 +78,7 @@ void success() throws Exception { it.gov.pagopa.gen.wispconverter.client.iuvgenerator.model.IUVGenerationResponseDto iuvGenerationModelResponseDto = new IUVGenerationResponseDto(); iuvGenerationModelResponseDto.setIuv("00000000"); TestUtils.setMock(iuveneratorClient,ResponseEntity.ok().body(iuvGenerationModelResponseDto)); - TestUtils.setMockGetException(gpdClient); + TestUtils.setMockGetExceptionNotFound(gpdClient); TestUtils.setMockPost(gpdClient,ResponseEntity.ok().body(getPaymentPositionModelDto())); TestUtils.setMock(decouplerCachingClient,ResponseEntity.ok().build()); when(rptRequestRepository.findById(any())).thenReturn( @@ -122,7 +122,7 @@ void fail_multibeneficiario_less_rpts() throws Exception { it.gov.pagopa.gen.wispconverter.client.iuvgenerator.model.IUVGenerationResponseDto iuvGenerationModelResponseDto = new IUVGenerationResponseDto(); iuvGenerationModelResponseDto.setIuv("00000000"); TestUtils.setMock(iuveneratorClient,ResponseEntity.ok().body(iuvGenerationModelResponseDto)); - TestUtils.setMockGetException(gpdClient); + TestUtils.setMockGetExceptionNotFound(gpdClient); TestUtils.setMockPost(gpdClient,ResponseEntity.ok().body(getPaymentPositionModelDto())); TestUtils.setMock(decouplerCachingClient,ResponseEntity.ok().build()); when(rptRequestRepository.findById(any())).thenReturn( diff --git a/src/test/java/it/gov/pagopa/wispconverter/RptTest.java b/src/test/java/it/gov/pagopa/wispconverter/RptTest.java index 3ece1e9b..ce6c5324 100644 --- a/src/test/java/it/gov/pagopa/wispconverter/RptTest.java +++ b/src/test/java/it/gov/pagopa/wispconverter/RptTest.java @@ -177,7 +177,7 @@ void success_debtPositionCreate() throws Exception { IUVGenerationResponseDto iuvGenerationModelResponseDto = new IUVGenerationResponseDto(); iuvGenerationModelResponseDto.setIuv("123456IUVMOCK2"); TestUtils.setMock(iuvGeneratorClient,ResponseEntity.ok().body(iuvGenerationModelResponseDto)); - TestUtils.setMockGetException(gpdClient); + TestUtils.setMockGetExceptionNotFound(gpdClient); TestUtils.setMockPost(gpdClient,ResponseEntity.ok().body(getPaymentPositionModelDto())); TestUtils.setMock(decouplerCachingClient,ResponseEntity.ok().build()); when(rptRequestRepository.findById(any())).thenReturn( @@ -190,8 +190,6 @@ void success_debtPositionCreate() throws Exception { ); when(redisSimpleTemplate.opsForValue()).thenReturn(mock(ValueOperations.class)); - - mvc.perform(MockMvcRequestBuilders.get(REDIRECT_PATH + "?sessionId=aaaaaaaaaaaa").accept(MediaType.APPLICATION_JSON)) .andExpect(MockMvcResultMatchers.status().is(HttpStatus.FOUND.value())) .andDo( @@ -219,7 +217,7 @@ void success_bollo() throws Exception { IUVGenerationResponseDto iuvGenerationModelResponseDto = new IUVGenerationResponseDto(); iuvGenerationModelResponseDto.setIuv("00000000"); TestUtils.setMock(iuvGeneratorClient,ResponseEntity.ok().body(iuvGenerationModelResponseDto)); - TestUtils.setMockGetException(gpdClient); + TestUtils.setMockGetExceptionNotFound(gpdClient); TestUtils.setMockPost(gpdClient,ResponseEntity.ok().body(getPaymentPositionModelDto())); TestUtils.setMock(decouplerCachingClient,ResponseEntity.ok().build()); when(rptRequestRepository.findById(any())).thenReturn( @@ -232,8 +230,6 @@ void success_bollo() throws Exception { ); when(redisSimpleTemplate.opsForValue()).thenReturn(mock(ValueOperations.class)); - - mvc.perform(MockMvcRequestBuilders.get(REDIRECT_PATH + "?sessionId=aaaaaaaaaaaa").accept(MediaType.APPLICATION_JSON)) .andExpect(MockMvcResultMatchers.status().is(HttpStatus.FOUND.value())) .andDo( @@ -275,7 +271,7 @@ void fail_iuvGeneratorError() throws Exception { iuvGenerationModelResponseDto.setIuv("00000000"); doThrow(new RestClientException("fail", new RuntimeException("this test must fail"))) .when(iuvGeneratorClient).invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any()); - TestUtils.setMockGetException(gpdClient); + TestUtils.setMockGetExceptionNotFound(gpdClient); TestUtils.setMock(decouplerCachingClient,ResponseEntity.ok().build()); when(redisSimpleTemplate.opsForValue()).thenReturn(mock(ValueOperations.class)); when(rptRequestRepository.findById(any())).thenReturn( @@ -344,7 +340,7 @@ void fail_debtPositionCreate() throws Exception { IUVGenerationResponseDto iuvGenerationModelResponseDto = new IUVGenerationResponseDto(); iuvGenerationModelResponseDto.setIuv("00000000"); TestUtils.setMock(iuvGeneratorClient,ResponseEntity.ok().body(iuvGenerationModelResponseDto)); - TestUtils.setMockGetException(gpdClient); + TestUtils.setMockGetExceptionNotFound(gpdClient); doThrow(new RestClientException("fail", new RuntimeException("this test must fail"))) .when(gpdClient).parameterToMultiValueMap(any(),any(),any()); TestUtils.setMock(decouplerCachingClient,ResponseEntity.ok().build()); @@ -358,8 +354,6 @@ void fail_debtPositionCreate() throws Exception { ); when(redisSimpleTemplate.opsForValue()).thenReturn(mock(ValueOperations.class)); - - mvc.perform(MockMvcRequestBuilders.get(REDIRECT_PATH + "?sessionId=aaaaaaaaaaaa").accept(MediaType.APPLICATION_JSON)) .andExpect(MockMvcResultMatchers.status().is2xxSuccessful()); @@ -376,7 +370,7 @@ void fail_storeRequestMappingInCache() throws Exception { IUVGenerationResponseDto iuvGenerationModelResponseDto = new IUVGenerationResponseDto(); iuvGenerationModelResponseDto.setIuv("123456IUVMOCK2"); TestUtils.setMock(iuvGeneratorClient,ResponseEntity.ok().body(iuvGenerationModelResponseDto)); - TestUtils.setMockGetException(gpdClient); + TestUtils.setMockGetExceptionNotFound(gpdClient); TestUtils.setMockPost(gpdClient,ResponseEntity.ok().body(getPaymentPositionModelDto())); doThrow(new RestClientException("fail", new RuntimeException("this test must fail"))) .when(decouplerCachingClient) @@ -408,7 +402,7 @@ void fail_checkoutRequest() throws Exception { IUVGenerationResponseDto iuvGenerationModelResponseDto = new IUVGenerationResponseDto(); iuvGenerationModelResponseDto.setIuv("00000000"); TestUtils.setMock(iuvGeneratorClient,ResponseEntity.ok().body(iuvGenerationModelResponseDto)); - TestUtils.setMockGetException(gpdClient); + TestUtils.setMockGetExceptionNotFound(gpdClient); TestUtils.setMockPost(gpdClient,ResponseEntity.ok().body(getPaymentPositionModelDto())); TestUtils.setMock(decouplerCachingClient,ResponseEntity.ok().build()); when(rptRequestRepository.findById(any())).thenReturn( @@ -421,8 +415,6 @@ void fail_checkoutRequest() throws Exception { ); when(redisSimpleTemplate.opsForValue()).thenReturn(mock(ValueOperations.class)); - - mvc.perform(MockMvcRequestBuilders.get(REDIRECT_PATH + "?sessionId=aaaaaaaaaaaa").accept(MediaType.APPLICATION_JSON)) .andExpect(MockMvcResultMatchers.status().is2xxSuccessful()); @@ -440,14 +432,12 @@ void fail_ibanNullValue() throws Exception { Optional.of( RPTRequestEntity.builder().primitive("nodoInviaRPT") .payload( - TestUtils.zipAndEncode(TestUtils.getRptNullIbanPayload(false,station,"100.00","datispec")) + TestUtils.zipAndEncode(TestUtils.getRptNullIbanPayload(station,"100.00","datispec")) ).build() ) ); when(redisSimpleTemplate.opsForValue()).thenReturn(mock(ValueOperations.class)); - - MvcResult resultActions = mvc.perform(MockMvcRequestBuilders.get(REDIRECT_PATH + "?sessionId=aaaaaaaaaaaa").accept(MediaType.APPLICATION_JSON)) .andExpect(MockMvcResultMatchers.status().is2xxSuccessful()).andDo( result -> { @@ -480,7 +470,36 @@ void fail_nullDebtPosition() throws Exception { ); when(redisSimpleTemplate.opsForValue()).thenReturn(mock(ValueOperations.class)); + MvcResult resultActions = mvc.perform(MockMvcRequestBuilders.get(REDIRECT_PATH + "?sessionId=aaaaaaaaaaaa").accept(MediaType.APPLICATION_JSON)) + .andExpect(MockMvcResultMatchers.status().is2xxSuccessful()).andDo( + result -> { + assertNotNull(result); + assertNotNull(result.getResponse()); + }).andReturn(); + assertEquals("text/html;charset=UTF-8",resultActions.getResponse().getContentType()); + String contentAsString = resultActions.getResponse().getContentAsString(); + assertTrue(contentAsString.contains("Riprova, oppure contatta l'assistenza")); + verify(checkoutClient,times(0)).invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any()); + verify(iuvGeneratorClient,times(0)).invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any()); + verify(gpdClient,times(1)).invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any()); + verify(decouplerCachingClient,times(0)).invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any()); + } + + @Test + void fail_debtPositionBadRequest() throws Exception { + String station = "mystation"; + org.springframework.test.util.ReflectionTestUtils.setField(configCacheService, "configData",TestUtils.configData(station)); + TestUtils.setMockGetExceptionBadRequest(gpdClient); + when(rptRequestRepository.findById(any())).thenReturn( + Optional.of( + RPTRequestEntity.builder().primitive("nodoInviaRPT") + .payload( + TestUtils.zipAndEncode(TestUtils.getRptPayload(false,station,"100.00","datispec")) + ).build() + ) + ); + when(redisSimpleTemplate.opsForValue()).thenReturn(mock(ValueOperations.class)); MvcResult resultActions = mvc.perform(MockMvcRequestBuilders.get(REDIRECT_PATH + "?sessionId=aaaaaaaaaaaa").accept(MediaType.APPLICATION_JSON)) .andExpect(MockMvcResultMatchers.status().is2xxSuccessful()).andDo( diff --git a/src/test/java/it/gov/pagopa/wispconverter/utils/TestUtils.java b/src/test/java/it/gov/pagopa/wispconverter/utils/TestUtils.java index aee1d800..003ed67e 100644 --- a/src/test/java/it/gov/pagopa/wispconverter/utils/TestUtils.java +++ b/src/test/java/it/gov/pagopa/wispconverter/utils/TestUtils.java @@ -149,11 +149,16 @@ public static void setMockGet(it.gov.pagopa.gen.wispconverter.client.gpd.invoker when(client.selectHeaderContentType(any())).thenReturn(MediaType.APPLICATION_JSON); } - public static void setMockGetException(it.gov.pagopa.gen.wispconverter.client.gpd.invoker.ApiClient client){ + public static void setMockGetExceptionNotFound(it.gov.pagopa.gen.wispconverter.client.gpd.invoker.ApiClient client){ when(client.invokeAPI(any(),eq(HttpMethod.GET),any(),any(),any(),any(),any(),any(),any(),any(),any(),any())) .thenThrow(new AppException(new HttpClientErrorException(HttpStatus.NOT_FOUND), AppErrorCodeMessageEnum.CLIENT_GPD_DEBT_POSITION_NOT_FOUND)); } + public static void setMockGetExceptionBadRequest(it.gov.pagopa.gen.wispconverter.client.gpd.invoker.ApiClient client){ + when(client.invokeAPI(any(),eq(HttpMethod.GET),any(),any(),any(),any(),any(),any(),any(),any(),any(),any())) + .thenThrow(new AppException(new HttpClientErrorException(HttpStatus.BAD_REQUEST), AppErrorCodeMessageEnum.CLIENT_GPD_DEBT_POSITION_BAD_REQUEST)); + } + public static void setMockPut(it.gov.pagopa.gen.wispconverter.client.gpd.invoker.ApiClient client,ResponseEntity response){ when(client.invokeAPI(any(),eq(HttpMethod.PUT),any(),any(),any(),any(),any(),any(),any(),any(),any(),any())).thenReturn(response); when(client.parameterToMultiValueMap(any(),any(),any())).thenReturn(new HttpHeaders()); From 67736c809d7f61390b2c0e997c9e971bca2e236b Mon Sep 17 00:00:00 2001 From: FedericoRuzzier <49512050+FedericoRuzzier@users.noreply.github.com> Date: Mon, 17 Jun 2024 14:48:31 +0200 Subject: [PATCH 17/19] PAGOPA-1837 refactoring --- .../pagopa/wispconverter/{ => consumer}/ConsumerTest.java | 2 +- .../pagopa/wispconverter/{ => endpoint}/CarrelloTest.java | 5 +++-- .../gov/pagopa/wispconverter/{ => endpoint}/ReceiptTest.java | 3 ++- .../it/gov/pagopa/wispconverter/{ => endpoint}/RptTest.java | 5 +++-- .../wispconverter/{ => service}/PaaInviaRTServiceTest.java | 2 +- .../it/gov/pagopa/wispconverter/{ => utility}/BaseTest.java | 2 +- .../gov/pagopa/wispconverter/{ => utility}/LoggingTest.java | 2 +- .../gov/pagopa/wispconverter/{ => utility}/XmlUtilTest.java | 2 +- .../gov/pagopa/wispconverter/{ => utility}/ZipUtilTest.java | 2 +- .../wispconverter/{ => utils}/ConstantsTestHelper.java | 2 +- 10 files changed, 15 insertions(+), 12 deletions(-) rename src/test/java/it/gov/pagopa/wispconverter/{ => consumer}/ConsumerTest.java (99%) rename src/test/java/it/gov/pagopa/wispconverter/{ => endpoint}/CarrelloTest.java (98%) rename src/test/java/it/gov/pagopa/wispconverter/{ => endpoint}/ReceiptTest.java (99%) rename src/test/java/it/gov/pagopa/wispconverter/{ => endpoint}/RptTest.java (99%) rename src/test/java/it/gov/pagopa/wispconverter/{ => service}/PaaInviaRTServiceTest.java (98%) rename src/test/java/it/gov/pagopa/wispconverter/{ => utility}/BaseTest.java (99%) rename src/test/java/it/gov/pagopa/wispconverter/{ => utility}/LoggingTest.java (99%) rename src/test/java/it/gov/pagopa/wispconverter/{ => utility}/XmlUtilTest.java (93%) rename src/test/java/it/gov/pagopa/wispconverter/{ => utility}/ZipUtilTest.java (94%) rename src/test/java/it/gov/pagopa/wispconverter/{ => utils}/ConstantsTestHelper.java (69%) diff --git a/src/test/java/it/gov/pagopa/wispconverter/ConsumerTest.java b/src/test/java/it/gov/pagopa/wispconverter/consumer/ConsumerTest.java similarity index 99% rename from src/test/java/it/gov/pagopa/wispconverter/ConsumerTest.java rename to src/test/java/it/gov/pagopa/wispconverter/consumer/ConsumerTest.java index 63764694..b97567ee 100644 --- a/src/test/java/it/gov/pagopa/wispconverter/ConsumerTest.java +++ b/src/test/java/it/gov/pagopa/wispconverter/consumer/ConsumerTest.java @@ -1,4 +1,4 @@ -package it.gov.pagopa.wispconverter; +package it.gov.pagopa.wispconverter.consumer; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertTrue; diff --git a/src/test/java/it/gov/pagopa/wispconverter/CarrelloTest.java b/src/test/java/it/gov/pagopa/wispconverter/endpoint/CarrelloTest.java similarity index 98% rename from src/test/java/it/gov/pagopa/wispconverter/CarrelloTest.java rename to src/test/java/it/gov/pagopa/wispconverter/endpoint/CarrelloTest.java index 29129d24..686cf2b9 100644 --- a/src/test/java/it/gov/pagopa/wispconverter/CarrelloTest.java +++ b/src/test/java/it/gov/pagopa/wispconverter/endpoint/CarrelloTest.java @@ -1,6 +1,6 @@ -package it.gov.pagopa.wispconverter; +package it.gov.pagopa.wispconverter.endpoint; -import static it.gov.pagopa.wispconverter.ConstantsTestHelper.REDIRECT_PATH; +import static it.gov.pagopa.wispconverter.utils.ConstantsTestHelper.REDIRECT_PATH; import static it.gov.pagopa.wispconverter.utils.TestUtils.getPaymentPositionModelDto; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertTrue; @@ -10,6 +10,7 @@ import com.azure.messaging.servicebus.ServiceBusSenderClient; import com.fasterxml.jackson.databind.ObjectMapper; import it.gov.pagopa.gen.wispconverter.client.iuvgenerator.model.IUVGenerationResponseDto; +import it.gov.pagopa.wispconverter.Application; import it.gov.pagopa.wispconverter.repository.RPTRequestRepository; import it.gov.pagopa.wispconverter.repository.RTRequestRepository; import it.gov.pagopa.wispconverter.repository.ReEventRepository; diff --git a/src/test/java/it/gov/pagopa/wispconverter/ReceiptTest.java b/src/test/java/it/gov/pagopa/wispconverter/endpoint/ReceiptTest.java similarity index 99% rename from src/test/java/it/gov/pagopa/wispconverter/ReceiptTest.java rename to src/test/java/it/gov/pagopa/wispconverter/endpoint/ReceiptTest.java index f1a09741..30636ab1 100644 --- a/src/test/java/it/gov/pagopa/wispconverter/ReceiptTest.java +++ b/src/test/java/it/gov/pagopa/wispconverter/endpoint/ReceiptTest.java @@ -1,4 +1,4 @@ -package it.gov.pagopa.wispconverter; +package it.gov.pagopa.wispconverter.endpoint; import static org.junit.Assert.assertNotNull; import static org.mockito.ArgumentMatchers.any; @@ -7,6 +7,7 @@ import com.azure.cosmos.CosmosClientBuilder; import com.azure.messaging.servicebus.ServiceBusSenderClient; import com.fasterxml.jackson.databind.ObjectMapper; +import it.gov.pagopa.wispconverter.Application; import it.gov.pagopa.wispconverter.controller.model.ReceiptRequest; import it.gov.pagopa.wispconverter.exception.PaaInviaRTException; import it.gov.pagopa.wispconverter.repository.CacheRepository; diff --git a/src/test/java/it/gov/pagopa/wispconverter/RptTest.java b/src/test/java/it/gov/pagopa/wispconverter/endpoint/RptTest.java similarity index 99% rename from src/test/java/it/gov/pagopa/wispconverter/RptTest.java rename to src/test/java/it/gov/pagopa/wispconverter/endpoint/RptTest.java index ce6c5324..54b7b6cb 100644 --- a/src/test/java/it/gov/pagopa/wispconverter/RptTest.java +++ b/src/test/java/it/gov/pagopa/wispconverter/endpoint/RptTest.java @@ -1,6 +1,6 @@ -package it.gov.pagopa.wispconverter; +package it.gov.pagopa.wispconverter.endpoint; -import static it.gov.pagopa.wispconverter.ConstantsTestHelper.REDIRECT_PATH; +import static it.gov.pagopa.wispconverter.utils.ConstantsTestHelper.REDIRECT_PATH; import static it.gov.pagopa.wispconverter.utils.TestUtils.*; import static org.junit.Assert.*; import static org.mockito.Mockito.*; @@ -11,6 +11,7 @@ import it.gov.pagopa.gen.wispconverter.client.iuvgenerator.model.IUVGenerationResponseDto; import it.gov.pagopa.gen.wispconverter.client.gpd.model.MultiplePaymentPositionModelDto; import it.gov.pagopa.gen.wispconverter.client.gpd.model.PaymentPositionModelDto; +import it.gov.pagopa.wispconverter.Application; import it.gov.pagopa.wispconverter.repository.CacheRepository; import it.gov.pagopa.wispconverter.repository.RPTRequestRepository; import it.gov.pagopa.wispconverter.repository.RTRequestRepository; diff --git a/src/test/java/it/gov/pagopa/wispconverter/PaaInviaRTServiceTest.java b/src/test/java/it/gov/pagopa/wispconverter/service/PaaInviaRTServiceTest.java similarity index 98% rename from src/test/java/it/gov/pagopa/wispconverter/PaaInviaRTServiceTest.java rename to src/test/java/it/gov/pagopa/wispconverter/service/PaaInviaRTServiceTest.java index daa6bdc5..fd8fd769 100644 --- a/src/test/java/it/gov/pagopa/wispconverter/PaaInviaRTServiceTest.java +++ b/src/test/java/it/gov/pagopa/wispconverter/service/PaaInviaRTServiceTest.java @@ -1,4 +1,4 @@ -package it.gov.pagopa.wispconverter; +package it.gov.pagopa.wispconverter.service; import gov.telematici.pagamenti.ws.papernodo.EsitoPaaInviaRT; import gov.telematici.pagamenti.ws.papernodo.FaultBean; diff --git a/src/test/java/it/gov/pagopa/wispconverter/BaseTest.java b/src/test/java/it/gov/pagopa/wispconverter/utility/BaseTest.java similarity index 99% rename from src/test/java/it/gov/pagopa/wispconverter/BaseTest.java rename to src/test/java/it/gov/pagopa/wispconverter/utility/BaseTest.java index 07149cb0..7a44d653 100644 --- a/src/test/java/it/gov/pagopa/wispconverter/BaseTest.java +++ b/src/test/java/it/gov/pagopa/wispconverter/utility/BaseTest.java @@ -1,4 +1,4 @@ -package it.gov.pagopa.wispconverter; +package it.gov.pagopa.wispconverter.utility; import static org.junit.jupiter.api.Assertions.assertTrue; diff --git a/src/test/java/it/gov/pagopa/wispconverter/LoggingTest.java b/src/test/java/it/gov/pagopa/wispconverter/utility/LoggingTest.java similarity index 99% rename from src/test/java/it/gov/pagopa/wispconverter/LoggingTest.java rename to src/test/java/it/gov/pagopa/wispconverter/utility/LoggingTest.java index 00ad4c49..d228ffcd 100644 --- a/src/test/java/it/gov/pagopa/wispconverter/LoggingTest.java +++ b/src/test/java/it/gov/pagopa/wispconverter/utility/LoggingTest.java @@ -1,4 +1,4 @@ -package it.gov.pagopa.wispconverter; +package it.gov.pagopa.wispconverter.utility; import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.mock; diff --git a/src/test/java/it/gov/pagopa/wispconverter/XmlUtilTest.java b/src/test/java/it/gov/pagopa/wispconverter/utility/XmlUtilTest.java similarity index 93% rename from src/test/java/it/gov/pagopa/wispconverter/XmlUtilTest.java rename to src/test/java/it/gov/pagopa/wispconverter/utility/XmlUtilTest.java index b05a3866..63906524 100644 --- a/src/test/java/it/gov/pagopa/wispconverter/XmlUtilTest.java +++ b/src/test/java/it/gov/pagopa/wispconverter/utility/XmlUtilTest.java @@ -1,4 +1,4 @@ -package it.gov.pagopa.wispconverter; +package it.gov.pagopa.wispconverter.utility; import it.gov.pagopa.wispconverter.util.XmlUtil; import org.junit.Test; diff --git a/src/test/java/it/gov/pagopa/wispconverter/ZipUtilTest.java b/src/test/java/it/gov/pagopa/wispconverter/utility/ZipUtilTest.java similarity index 94% rename from src/test/java/it/gov/pagopa/wispconverter/ZipUtilTest.java rename to src/test/java/it/gov/pagopa/wispconverter/utility/ZipUtilTest.java index 1317a3ae..9b8289ab 100644 --- a/src/test/java/it/gov/pagopa/wispconverter/ZipUtilTest.java +++ b/src/test/java/it/gov/pagopa/wispconverter/utility/ZipUtilTest.java @@ -1,4 +1,4 @@ -package it.gov.pagopa.wispconverter; +package it.gov.pagopa.wispconverter.utility; import it.gov.pagopa.wispconverter.util.ZipUtil; import org.junit.jupiter.api.Test; diff --git a/src/test/java/it/gov/pagopa/wispconverter/ConstantsTestHelper.java b/src/test/java/it/gov/pagopa/wispconverter/utils/ConstantsTestHelper.java similarity index 69% rename from src/test/java/it/gov/pagopa/wispconverter/ConstantsTestHelper.java rename to src/test/java/it/gov/pagopa/wispconverter/utils/ConstantsTestHelper.java index 3fc4ef03..61f5204e 100644 --- a/src/test/java/it/gov/pagopa/wispconverter/ConstantsTestHelper.java +++ b/src/test/java/it/gov/pagopa/wispconverter/utils/ConstantsTestHelper.java @@ -1,4 +1,4 @@ -package it.gov.pagopa.wispconverter; +package it.gov.pagopa.wispconverter.utils; public class ConstantsTestHelper { From 64f4d1d8ad4061143ad917a7c28a7bd4808f7a47 Mon Sep 17 00:00:00 2001 From: Andrea De Rinaldis Date: Mon, 17 Jun 2024 14:50:14 +0200 Subject: [PATCH 18/19] [PAGOPA-1837] fix: resolved wrong merge for error message class --- .../exception/AppErrorCodeMessageEnum.java | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/src/main/java/it/gov/pagopa/wispconverter/exception/AppErrorCodeMessageEnum.java b/src/main/java/it/gov/pagopa/wispconverter/exception/AppErrorCodeMessageEnum.java index 907ed280..6867c6d3 100644 --- a/src/main/java/it/gov/pagopa/wispconverter/exception/AppErrorCodeMessageEnum.java +++ b/src/main/java/it/gov/pagopa/wispconverter/exception/AppErrorCodeMessageEnum.java @@ -41,14 +41,12 @@ public enum AppErrorCodeMessageEnum { PERSISTENCE_REQUESTID_CACHING_ERROR(2002, "RequestID caching error", "Error while reading cached RequestID. No valid value found for key [{0}].", HttpStatus.NOT_FOUND, "An error occurred while trying to retrieve data from internal cache. Specifically, the cached key, defined in format wisp_nav2iuv__