Skip to content

Commit

Permalink
added unit test
Browse files Browse the repository at this point in the history
  • Loading branch information
lorenzo-catalano committed Apr 5, 2024
1 parent d72ccf5 commit 139f2ba
Show file tree
Hide file tree
Showing 4 changed files with 66 additions and 15 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -6,21 +6,18 @@
import it.gov.pagopa.wispconverter.service.model.*;
import it.gov.pagopa.wispconverter.service.model.paymentrequest.PaymentRequestDTO;
import it.gov.pagopa.wispconverter.util.Constants;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.util.UUID;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.slf4j.MDC;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.web.client.RestClientException;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.util.UUID;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

@Service
@Slf4j
@RequiredArgsConstructor
Expand Down Expand Up @@ -232,7 +229,7 @@ private String getTaxonomy(TransferDTO transferDTO) {
}

private boolean isPostalIBAN(String iban) {
return iban != null && iban.substring(5, 10).equals(posteItalianeABICode);
return iban.substring(5, 10).equals(posteItalianeABICode);
}

private String calculateIUPD(String creditorInstitutionBroker) {
Expand Down
6 changes: 6 additions & 0 deletions src/test/java/it/gov/pagopa/wispconverter/CarrelloTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,9 @@ 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(decouplerCachingClient,times(1)).invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any());
}

@Test
Expand Down Expand Up @@ -166,6 +169,9 @@ void success_multibeneficiario() 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(decouplerCachingClient,times(1)).invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any());
}

@Test
Expand Down
58 changes: 53 additions & 5 deletions src/test/java/it/gov/pagopa/wispconverter/RptTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -51,9 +51,14 @@ class RptTest {
@Qualifier("redisSimpleTemplate")
@MockBean private RedisTemplate<String, Object> redisSimpleTemplate;

private String getRptPayload(String station,String amount){
private String getRptPayload(String station,String amount,String datiSpecificiRiscossione){
if(datiSpecificiRiscossione==null){
datiSpecificiRiscossione = "9/tipodovuto_7/datospecifico";
}
String rpt = TestUtils.loadFileContent("/requests/rpt.xml");
String rptreplace = rpt.replaceAll("\\{amount\\}", amount);
String rptreplace = rpt
.replace("{datiSpecificiRiscossione}",datiSpecificiRiscossione)
.replaceAll("\\{amount\\}", amount);
String nodoInviaRPT = TestUtils.loadFileContent("/requests/nodoInviaRPT.xml");
return nodoInviaRPT
.replace("{station}",station)
Expand Down Expand Up @@ -89,9 +94,7 @@ void success() throws Exception {
RPTRequestEntity.builder().primitive("nodoInviaRPT")
.payload(
new String(Base64.getEncoder().encode(zip(
getRptPayload(station,
"100.00"
).getBytes(StandardCharsets.UTF_8))),StandardCharsets.UTF_8)
getRptPayload(station,"100.00",null).getBytes(StandardCharsets.UTF_8))),StandardCharsets.UTF_8)
).build()
)
);
Expand All @@ -108,6 +111,51 @@ 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(decouplerCachingClient,times(1)).invokeAPI(any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any(),any());
}

@Test
void success_tassonomia() throws Exception {
String station = "mystation";
TestUtils.setMock(cacheClient,ResponseEntity.ok().body(TestUtils.configData(station)));

org.springframework.test.util.ReflectionTestUtils.setField(configCacheService, "configCacheClient",cacheClient);
HttpHeaders headers = new HttpHeaders();
headers.add("location","locationheader");
TestUtils.setMock(checkoutClient, ResponseEntity.status(HttpStatus.FOUND).headers(headers).build());

IuvGenerationModelResponseDto iuvGenerationModelResponseDto = new IuvGenerationModelResponseDto();
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("nodoInviaRPT")
.payload(
new String(Base64.getEncoder().encode(zip(
getRptPayload(station,"100.00","datispec").getBytes(StandardCharsets.UTF_8))),StandardCharsets.UTF_8)
).build()
)
);
when(redisSimpleTemplate.opsForValue()).thenReturn(mock(ValueOperations.class));



mvc.perform(MockMvcRequestBuilders.get("/redirect?sessionId=aaaaaaaaaaaa").accept(MediaType.APPLICATION_JSON))
.andExpect(MockMvcResultMatchers.status().is3xxRedirection())
.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());
}

}
2 changes: 1 addition & 1 deletion src/test/resources/requests/rpt.xml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
<importoSingoloVersamento>{amount}</importoSingoloVersamento>
<ibanAccredito>IT96R0760154321000000012345</ibanAccredito>
<causaleVersamento>Pagamento di prova</causaleVersamento>
<datiSpecificiRiscossione>9/tipodovuto_7/datospecifico</datiSpecificiRiscossione>
<datiSpecificiRiscossione>{datiSpecificiRiscossione}</datiSpecificiRiscossione>
</datiSingoloVersamento>
</datiVersamento>
</RPT>

0 comments on commit 139f2ba

Please sign in to comment.