Skip to content

Commit

Permalink
Issue #406
Browse files Browse the repository at this point in the history
Corretta invocazione del servizio avvisi per utilizzare il numeroAvviso come parametro al posto dello iuv, come previsto dall'openapi.
  • Loading branch information
pintorig committed Nov 12, 2021
1 parent a7ce420 commit d7c2027
Show file tree
Hide file tree
Showing 5 changed files with 29 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ Background:

* def applicazione = read('classpath:configurazione/v1/msg/applicazione.json')
* set applicazione.servizioIntegrazione.versioneApi = 'REST v2'
* set applicazione.servizioIntegrazione.url = ente_api_url + '/v2'

Given url backofficeBaseurl
And path 'applicazioni', idA2A
Expand Down Expand Up @@ -53,7 +54,7 @@ Scenario Outline: <field> non valida
* set <fieldRequest> = <fieldValue>

Given url ente_api_url
And path '/v1/avvisi', idDominio, iuv
And path '/v2/avvisi', idDominio, numeroAvviso
And request pendenza
When method post
Then status 200
Expand Down Expand Up @@ -89,7 +90,7 @@ Scenario: Caricamento pendenza con contabilita errore validazione importi
* set pendenza.stato = 'NON_ESEGUITA'

Given url ente_api_url
And path '/v1/avvisi', idDominio, iuv
And path '/v2/avvisi', idDominio, numeroAvviso
And request pendenza
When method post
Then status 200
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ Background:

* def applicazione = read('classpath:configurazione/v1/msg/applicazione.json')
* set applicazione.servizioIntegrazione.versioneApi = 'REST v2'
* set applicazione.servizioIntegrazione.url = ente_api_url + '/v2'

Given url backofficeBaseurl
And path 'applicazioni', idA2A
Expand Down Expand Up @@ -41,7 +42,7 @@ Scenario Outline: <field> non valida
* set <fieldRequest> = <fieldValue>

Given url ente_api_url
And path '/v1/avvisi', idDominio, iuv
And path '/v2/avvisi', idDominio, numeroAvviso
And request pendenza
When method post
Then status 200
Expand Down Expand Up @@ -135,7 +136,7 @@ Scenario Outline: <field> non valida
* set <fieldRequest> = <fieldValue>

Given url ente_api_url
And path '/v1/avvisi', idDominio, iuv
And path '/v2/avvisi', idDominio, numeroAvviso
And request pendenza
When method post
Then status 200
Expand Down
3 changes: 2 additions & 1 deletion integration-test/src/test/java/utils/mock-ente.feature
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,8 @@ Scenario: pathMatches(pagamentiPath+'/v1/avvisi/{idDominio}/{iuv}') && methodIs(
* def response = pendenza

Scenario: pathMatches(pagamentiPath+'/v2/avvisi/{idDominio}/{numeroAvviso}') && methodIs('get')
* eval versamenti[pathParams.idDominio + pathParams.numeroAvviso] = request
* eval pendenza = versamenti[pathParams.idDominio + pathParams.numeroAvviso] == null ? pendenzaSconosciuta : versamenti[pathParams.idDominio + pathParams.numeroAvviso]
* def response = pendenza

# API Verifica per numero Pendenza

Expand Down
10 changes: 10 additions & 0 deletions jars/core/src/main/java/it/govpay/core/utils/IuvUtils.java
Original file line number Diff line number Diff line change
Expand Up @@ -112,6 +112,16 @@ public static Iuv toIuv(Versamento versamento, Applicazione applicazione, Domini

return iuvGenerato;
}

public static String toNumeroAvviso(String iuv, Dominio dominio) throws ServiceException {
String iuvGenerato = iuv;
if(dominio.getAuxDigit() == 0)
iuvGenerato = dominio.getAuxDigit() + String.format("%02d", dominio.getStazione().getApplicationCode()) + iuv;
else
iuvGenerato = dominio.getAuxDigit() + iuv;

return iuvGenerato;
}

public static String toIuv(String numeroAvviso) throws ValidationException {
if(numeroAvviso == null)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
import java.util.List;

import org.apache.commons.lang.StringUtils;
import org.openspcoop2.generic_project.exception.NotFoundException;
import org.openspcoop2.generic_project.exception.ServiceException;
import org.openspcoop2.utils.LoggerWrapperFactory;
import org.openspcoop2.utils.UtilsException;
Expand All @@ -34,6 +35,8 @@
import org.openspcoop2.utils.transport.http.HttpRequestMethod;
import org.slf4j.Logger;

import it.govpay.bd.BDConfigWrapper;
import it.govpay.bd.anagrafica.AnagraficaManager;
import it.govpay.bd.model.Applicazione;
import it.govpay.bd.model.Versamento;
import it.govpay.core.ec.v1.converter.VerificaConverter;
Expand Down Expand Up @@ -243,6 +246,7 @@ public Versamento eseguiVerificaPendenzaConConnettoreV2(String codVersamentoEnte

IContext ctx = ContextThreadLocal.get();
GpContext appContext = (GpContext) ctx.getApplicationContext();
BDConfigWrapper configWrapper = new BDConfigWrapper(ctx.getTransactionId(), true);

try {
this.operationID = appContext.setupPaClient(this.codApplicazione, VerificaClient.AZIONE_SOAP_PA_VERIFICA_VERSAMENTO, this.url.toExternalForm(), this.versione);
Expand All @@ -259,7 +263,13 @@ public Versamento eseguiVerificaPendenzaConConnettoreV2(String codVersamentoEnte
path = MessageFormat.format(VERIfICA_PENDENZE_V2_VERIFY_PENDENZA_OPERATION_PATH, this.codApplicazione, codVersamentoEnte);
swaggerOperationID = VERIFICA_PENDENZE_V2_VERIFY_PENDENZA_OPERATION_ID;
} else {
path = MessageFormat.format(VERIFICA_PENDENZE_V2_GET_AVVISO_OPERATION_PATH, codDominio, iuv);

String numeroAvviso = iuv;
try {
numeroAvviso = IuvUtils.toNumeroAvviso(iuv, AnagraficaManager.getDominio(configWrapper, codDominio));
} catch (NotFoundException e) { }

path = MessageFormat.format(VERIFICA_PENDENZE_V2_GET_AVVISO_OPERATION_PATH, codDominio, numeroAvviso);
}

it.govpay.ec.v2.beans.PendenzaVerificata pendenzaVerificata = null;
Expand Down

0 comments on commit d7c2027

Please sign in to comment.