Skip to content

Commit

Permalink
Merge branch '3.1.x' of github.com:link-it/GovPay into 3.1.x
Browse files Browse the repository at this point in the history
  • Loading branch information
pintorig committed Aug 27, 2019
2 parents 3e5a7e8 + 95ccd66 commit 1da3a66
Show file tree
Hide file tree
Showing 10 changed files with 256 additions and 64 deletions.
28 changes: 13 additions & 15 deletions ear/src/main/application/properties/mappingTipiEvento.properties
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@ addDominio=Configura dominio
addEntrata=Configura entrata
addIntermediario=Configura intermediario
addOperatore=Configura operatore
addPagamento=Richiedi pagamento
addPendenza=Inserisci pendenza
addRiconciliazione=Inserisci riconciliazione
addPagamento=Ricevuta richiesta pagamento da Portale
addPendenza=Ricevuta nuova pendenza dall'Ente
addRiconciliazione=Riconciliazione pagamenti
addRuolo=Configura ruolo
addStazione=Configura stazione
addTipoPendenza=Configura tipo pendenza
Expand Down Expand Up @@ -83,22 +83,20 @@ nodoChiediElencoFlussiRendicontazione=Elenco flussi rendicontazione
nodoChiediFlussoRendicontazione=Leggi flusso rendicontazione
nodoChiediListaPendentiRPT=Elenco transazioni pendenti
nodoChiediStatoRPT=Leggi stato transazione
nodoInviaAvvisoDigitale=Invia avviso digitale
nodoInviaCarrelloRPT=Invia richiesta di pagamento
nodoInviaRichiestaStorno=Invia richiesta di storno
nodoInviaRPT=Invia pagamento attivato
notifyPagamento=Notifica pagamento
paaAttivaRPT=Attiva pagamento
paaInviaEsitoStorno=Invia esito storno
paaInviaRT=Invia ricevuta di pagamento
paaVerificaRPT=Verifica pagamento
nodoInviaAvvisoDigitale=Inviato avviso digitale a pagoPA
nodoInviaCarrelloRPT=Inviato carrello RPT a pagoPA
nodoInviaRichiestaStorno=Inviata RR a pagoPA
nodoInviaRPT=Inviata RPT attivata a pagoPA
notifyPagamento=Inviata notifica pagamento all'Ente
paaAttivaRPT=Ricevuta attivazione RPT da pagoPA
paaInviaEsitoStorno=Ricevuta ER da pagoPA
paaInviaRT=Ricevuta RT da pagoPA
paaVerificaRPT=Ricevuta verifica RPT da pagoPA
updateApplicazione=Configura applicazione
updateOperatore=Configura operatore
updatePagamento=Configura pagamento
updatePendenza=Configura pendenza
updateRpp=Configura transazione
updateRuolo=Configura ruolo
verifyPendenza=Verifica pendenza
verifyPendenza=Inviata verifica RPT all'Ente
verifyPendenzaMod4=Verifica pendenza modello 4


Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
Feature: Pagamento carrello

Background:

* callonce read('classpath:utils/common-utils.feature')
* callonce read('classpath:configurazione/v1/anagrafica.feature')

* def pendenzeBaseurl = getGovPayApiBaseUrl({api: 'pendenze', versione: 'v2', autenticazione: 'basic'})
* def basicAutenticationHeader = getBasicAuthenticationHeader( { username: idA2A, password: 'password' } )

* def idPendenza = getCurrentTimeMillis()
* def pendenza = read('classpath:test/api/pendenza/v2/pendenze/put/msg/pendenza-put_monovoce_riferimento.json')

Given url pendenzeBaseurl
And path 'pendenze', idA2A, idPendenza
And headers basicAutenticationHeader
And request pendenza
When method put
Then status 201
* def numeroAvviso = response.numeroAvviso

* def idPendenza = getCurrentTimeMillis()
* def idPendenza1 = idPendenza
* def pendenza = read('classpath:test/api/pendenza/v2/pendenze/put/msg/pendenza-put_monovoce_riferimento.json')

Given url pendenzeBaseurl
And path 'pendenze', idA2A, idPendenza1
And headers basicAutenticationHeader
And request pendenza
When method put
Then status 201

* def idPendenza2 = getCurrentTimeMillis()

* def pagamentoPost = read('classpath:test/api/pagamento/v2/pagamenti/post/msg/pagamento-post_carrello.json')
* set pagamentoPost.soggettoVersante =
"""
{
"tipo": "F",
"identificativo": "RSSMRA30A01H501I",
"anagrafica": "Mario Rossi",
"indirizzo": "Piazza della Vittoria",
"civico": "10/A",
"cap": 0,
"localita": "Roma",
"provincia": "Roma",
"nazione": "IT",
"email": "mario.rossi@host.eu",
"cellulare": "+39 000-1234567"
}
"""

Scenario: Pagamento carrello anonimo

* def pagamentiBaseurl = getGovPayApiBaseUrl({api: 'pagamento', versione: 'v2', autenticazione: 'public'})

Given url pagamentiBaseurl
And path '/pagamenti'
And request pagamentoPost
When method post
Then status 201
And match response == { id: '#notnull', location: '#notnull', redirect: '#notnull', idSession: '#notnull' }

Given url pagamentiBaseurl
And path '/pagamenti/byIdSession/', response.idSession
When method get
Then status 200
And match response.rpp[0].rpt.soggettoVersante ==
"""
{
identificativoUnivocoVersante: {
tipoIdentificativoUnivoco: 'F',
codiceIdentificativoUnivoco: 'ANONIMO'
},
anagraficaVersante: 'ANONIMO',
indirizzoVersante: null,
civicoVersante: null,
capVersante: null,
localitaVersante: null,
provinciaVersante: null,
nazioneVersante: null,
e-mailVersante: '#(pagamentoPost.soggettoVersante.email)'
}
"""
And match response.rpp[0].rpt.soggettoPagatore == null
And match response.rpp[1].rpt.soggettoPagatore == null
Original file line number Diff line number Diff line change
Expand Up @@ -72,8 +72,8 @@ Scenario: Pagamento spontaneo modello 4 autenticato basic
* set pendenza.numeroAvviso = numeroAvviso
* set pendenza.stato = 'NON_ESEGUITA'
* set pendenza.causale = "#(Pagamento n. "+ pagamentoPost.pendenze[0].dati.numero +" buoni pasto)"
* set pendenza.importo = pagamentoPost.pendenze[0].dati.importo
* set pendenza.voci[0].importo = pagamentoPost.pendenze[0].dati.importo
* set pendenza.importo = pagamentoPost.pendenze[0].dati.numero * 2.00
* set pendenza.voci[0].importo = pagamentoPost.pendenze[0].dati.numero * 2.00
* set pendenza.soggettoPagatore = pagamentoPost.pendenze[0].dati.soggettoPagatore

Given url ente_api_url
Expand Down Expand Up @@ -162,15 +162,14 @@ Scenario Outline: Pagamento spontaneo modello 4 inoltrato all'applicazione con <
* def iuv = getIuvFromNumeroAvviso(numeroAvviso)
* call read('classpath:utils/pa-prepara-avviso.feature')
* def ccp = getCurrentTimeMillis()
* def importo = 100.99

* set pendenza.idA2A = idA2A
* set pendenza.idPendenza = idPendenza
* set pendenza.numeroAvviso = numeroAvviso
* set pendenza.stato = 'NON_ESEGUITA'
* set pendenza.causale = "#(Pagamento n. "+ pagamentoPost.pendenze[0].dati.numero +" buoni pasto)"
* set pendenza.importo = pagamentoPost.pendenze[0].dati.importo
* set pendenza.voci[0].importo = pagamentoPost.pendenze[0].dati.importo
* set pendenza.importo = pagamentoPost.pendenze[0].dati.numero * 2.00
* set pendenza.voci[0].importo = pagamentoPost.pendenze[0].dati.numero * 2.00
* set pendenza.soggettoPagatore =
"""
{
Expand Down Expand Up @@ -326,8 +325,8 @@ Scenario: Pagamento spontaneo modello 4 inoltrato all'applicazione con risposta
* set pendenza.numeroAvviso = numeroAvviso
* set pendenza.stato = 'NON_ESEGUITA'
* set pendenza.causale = "#(Pagamento n. "+ pagamentoPost.pendenze[0].dati.numero +" buoni pasto)"
* set pendenza.importo = pagamentoPost.pendenze[0].dati.importo
* set pendenza.voci[0].importo = pagamentoPost.pendenze[0].dati.importo
* set pendenza.importo = pagamentoPost.pendenze[0].dati.numero * 2.00
* set pendenza.voci[0].importo = pagamentoPost.pendenze[0].dati.numero * 2.00
* set pendenza.soggettoPagatore =
"""
{
Expand Down Expand Up @@ -570,8 +569,8 @@ Scenario: Pagamento spontaneo modello 4 inoltrato all'applicazione risposta pend
* set pendenzaPut.stato = 'SCADUTA'
* set pendenzaPut.descrizioneStato = 'Test scadenza'
* set pendenza.causale = "#(Pagamento n. "+ pagamentoPost.pendenze[0].dati.numero +" buoni pasto)"
* set pendenza.importo = pagamentoPost.pendenze[0].dati.importo
* set pendenza.voci[0].importo = pagamentoPost.pendenze[0].dati.importo
* set pendenza.importo = pagamentoPost.pendenze[0].dati.numero * 2.00
* set pendenza.voci[0].importo = pagamentoPost.pendenze[0].dati.numero * 2.00
* set pendenza.soggettoPagatore =
"""
{
Expand Down Expand Up @@ -672,8 +671,8 @@ Scenario: Pagamento spontaneo modello 4 inoltrato all'applicazione risposta pend
* set pendenzaPut.stato = 'ANNULLATA'
* set pendenzaPut.descrizioneStato = 'Test annullamento'
* set pendenza.causale = "#(Pagamento n. "+ pagamentoPost.pendenze[0].dati.numero +" buoni pasto)"
* set pendenza.importo = pagamentoPost.pendenze[0].dati.importo
* set pendenza.voci[0].importo = pagamentoPost.pendenze[0].dati.importo
* set pendenza.importo = pagamentoPost.pendenze[0].dati.numero * 2.00
* set pendenza.voci[0].importo = pagamentoPost.pendenze[0].dati.numero * 2.00
* set pendenza.soggettoPagatore =
"""
{
Expand Down Expand Up @@ -855,8 +854,8 @@ Scenario Outline: Pagamento spontaneo modello 4 inoltrato all'applicazione <fiel
* set pendenza.numeroAvviso = numeroAvviso
* set pendenza.stato = 'NON_ESEGUITA'
* set pendenza.causale = "#(Pagamento n. "+ pagamentoPost.pendenze[0].dati.numero +" buoni pasto)"
* set pendenza.importo = pagamentoPost.pendenze[0].dati.importo
* set pendenza.voci[0].importo = pagamentoPost.pendenze[0].dati.importo
* set pendenza.importo = pagamentoPost.pendenze[0].dati.numero * 2.00
* set pendenza.voci[0].importo = pagamentoPost.pendenze[0].dati.numero * 2.00
* set pendenza.soggettoPagatore =
"""
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,65 @@ Then status 400

Examples:
| field | fieldRequest | fieldValue | fieldResponse |
| nome | pendenzaPut.nome | loremIpsum | 'nome' |
| causale | pendenzaPut.causale | null | 'causale' |
| causale | pendenzaPut.causale | loremIpsum | 'causale' |
| causale | pendenzaPut.causale | '' | 'causale' |
| numeroAvviso | pendenzaPut.numeroAvviso | loremIpsum | 'numeroAvviso' |
| numeroAvviso | pendenzaPut.numeroAvviso | 'ABC000000000000000' | 'numeroAvviso' |
| dataValidita | pendenzaPut.dataValidita | '2030-19-40' | 'dataValidita' |
| dataValidita | pendenzaPut.dataScadenza | '2030-19-40' | 'dataScadenza' |
| annoRiferimento | pendenzaPut.annoRiferimento | 'aaaa' | 'annoRiferimento' |
| tassonomiaAvviso | pendenzaPut.tassonomiaAvviso | 'xxxx' | 'tassonomiaAvviso' |
| soggettoPagatore.tipo | pendenzaPut.soggettoPagatore | null | 'soggettoPagatore' |
| soggettoPagatore.tipo | pendenzaPut.soggettoPagatore.tipo | null | 'tipo' |
| soggettoPagatore.tipo | pendenzaPut.soggettoPagatore.tipo | 'X' | 'tipo' |
| soggettoPagatore.identificativo | pendenzaPut.soggettoPagatore.identificativo | null | 'identificativo' |
| soggettoPagatore.identificativo | pendenzaPut.soggettoPagatore.identificativo | '' | 'identificativo' |
| soggettoPagatore.identificativo | pendenzaPut.soggettoPagatore.identificativo | loremIpsum | 'identificativo' |
| soggettoPagatore.anagrafica | pendenzaPut.soggettoPagatore.anagrafica | null | 'anagrafica' |
| soggettoPagatore.anagrafica | pendenzaPut.soggettoPagatore.anagrafica | '' | 'anagrafica' |
| soggettoPagatore.anagrafica | pendenzaPut.soggettoPagatore.anagrafica | loremIpsum | 'anagrafica' |
| soggettoPagatore.indirizzo | pendenzaPut.soggettoPagatore.indirizzo | '' | 'indirizzo' |
| soggettoPagatore.indirizzo | pendenzaPut.soggettoPagatore.indirizzo | loremIpsum | 'indirizzo' |
| soggettoPagatore.civico | pendenzaPut.soggettoPagatore.civico | '' | 'civico' |
| soggettoPagatore.civico | pendenzaPut.soggettoPagatore.civico | loremIpsum | 'civico' |
| soggettoPagatore.cap | pendenzaPut.soggettoPagatore.cap | '' | 'cap' |
| soggettoPagatore.cap | pendenzaPut.soggettoPagatore.cap | loremIpsum | 'cap' |
| soggettoPagatore.localita | pendenzaPut.soggettoPagatore.localita | '' | 'localita' |
| soggettoPagatore.localita | pendenzaPut.soggettoPagatore.localita | loremIpsum | 'localita' |
| soggettoPagatore.provincia | pendenzaPut.soggettoPagatore.provincia | '' | 'provincia' |
| soggettoPagatore.provincia | pendenzaPut.soggettoPagatore.provincia | loremIpsum | 'provincia' |
| soggettoPagatore.nazione | pendenzaPut.soggettoPagatore.nazione | 'aaa' | 'nazione' |
| soggettoPagatore.email | pendenzaPut.soggettoPagatore.email | 'verdi@giuseppe@email' | 'email' |
| soggettoPagatore.cellulare | pendenzaPut.soggettoPagatore.cellulare | '+390000000000' | 'cellulare' |
| importo | pendenzaPut.importo | null | 'importo' |
| importo | pendenzaPut.importo | '10.001' | 'importo' |
| importo | pendenzaPut.importo | '10,000' | 'importo' |
| importo | pendenzaPut.importo | '10,00.0' | 'importo' |
| importo | pendenzaPut.importo | 'aaaa' | 'importo' |
| voci | pendenzaPut.voci | null | 'voci' |
| voci.idVocePendenza | pendenzaPut.voci[0].idVocePendenza | null | 'idVocePendenza' |
| voci.idVocePendenza | pendenzaPut.voci[0].idVocePendenza | loremIpsum | 'idVocePendenza' |
| voci.importo | pendenzaPut.voci[0].importo | null | 'importo' |
| voci.importo | pendenzaPut.voci[0].importo | '10.001' | 'importo' |
| voci.importo | pendenzaPut.voci[0].importo | '10,000' | 'importo' |
| voci.importo | pendenzaPut.voci[0].importo | '10,00.0' | 'importo' |
| voci.importo | pendenzaPut.voci[0].importo | 'aaaa' | 'importo' |
| voci.descrizione | pendenzaPut.voci[0].descrizione | null | 'descrizione' |
| voci.descrizione | pendenzaPut.voci[0].descrizione | loremIpsum | 'descrizione' |
| voci.codEntrata | pendenzaPut.voci[0].codEntrata | null | 'codEntrata' |
| voci.ibanAccredito | pendenzaPut.voci[1].ibanAccredito | null | 'ibanAccredito' |
| voci.tipoContabilita | pendenzaPut.voci[1].tipoContabilita | null | 'tipoContabilita' |
| voci.tipoContabilita | pendenzaPut.voci[1].tipoContabilita | 'xxx' | 'tipoContabilita' |
| voci.codiceContabilita | pendenzaPut.voci[1].codiceContabilita | null | 'codiceContabilita' |
| voci.codiceContabilita | pendenzaPut.voci[1].codiceContabilita | '' | 'codiceContabilita' |
| voci.tipoBollo | pendenzaPut.voci[2].tipoBollo | null | 'tipoBollo' |
| voci.tipoBollo | pendenzaPut.voci[2].tipoBollo | 'xxx' | 'tipoBollo' |
| voci.hashDocumento | pendenzaPut.voci[2].hashDocumento | null | 'hashDocumento' |
| voci.hashDocumento | pendenzaPut.voci[2].hashDocumento | loremIpsum | 'hashDocumento' |
| voci.provinciaResidenza | pendenzaPut.voci[2].provinciaResidenza | null | 'provinciaResidenza' |
| voci.provinciaResidenza | pendenzaPut.voci[2].provinciaResidenza | 'xxx' | 'provinciaResidenza' |


Scenario: Numero voci eccessivo
Expand Down
2 changes: 1 addition & 1 deletion src/main/resources/db/sql/mysql/gov_pay.sql
Original file line number Diff line number Diff line change
Expand Up @@ -1231,7 +1231,7 @@ CREATE VIEW v_riscossioni AS


CREATE VIEW v_eventi_vers AS (
SELECT eventi.componente,
SELECT DISTINCT eventi.componente,
eventi.ruolo,
eventi.categoria_evento,
eventi.tipo_evento,
Expand Down
28 changes: 28 additions & 0 deletions src/main/resources/db/sql/mysql/patch/3.1-rc2.sql
Original file line number Diff line number Diff line change
Expand Up @@ -296,6 +296,34 @@ ALTER TABLE tipi_vers_domini ADD COLUMN trac_csv_header_risposta LONGTEXT;
ALTER TABLE tipi_vers_domini ADD COLUMN trac_csv_template_richiesta LONGTEXT;
ALTER TABLE tipi_vers_domini ADD COLUMN trac_csv_template_risposta LONGTEXT;

-- 27/08/2019 Vista Eventi per Versamenti
DROP VIEW v_eventi_vers;
CREATE VIEW v_eventi_vers AS (
SELECT DISTINCT eventi.componente,
eventi.ruolo,
eventi.categoria_evento,
eventi.tipo_evento,
eventi.sottotipo_evento,
eventi.data,
eventi.intervallo,
eventi.esito,
eventi.sottotipo_esito,
eventi.dettaglio_esito,
eventi.parametri_richiesta,
eventi.parametri_risposta,
eventi.dati_pago_pa,
coalesce(eventi.cod_versamento_ente, versamenti.cod_versamento_ente) as cod_versamento_ente,
coalesce (eventi.cod_applicazione, applicazioni.cod_applicazione) as cod_applicazione,
eventi.iuv,
eventi.cod_dominio,
eventi.ccp,
eventi.id_sessione,
eventi.id
FROM eventi LEFT JOIN pagamenti_portale ON eventi.id_sessione = pagamenti_portale.id_sessione
LEFT JOIN pag_port_versamenti ON pagamenti_portale.id = pag_port_versamenti.id_pagamento_portale
LEFT JOIN versamenti ON versamenti.id = pag_port_versamenti.id_versamento
LEFT JOIN applicazioni ON versamenti.id_applicazione = applicazioni.id
);



2 changes: 1 addition & 1 deletion src/main/resources/db/sql/oracle/gov_pay.sql
Original file line number Diff line number Diff line change
Expand Up @@ -1708,7 +1708,7 @@ CREATE VIEW v_riscossioni AS


CREATE VIEW v_eventi_vers AS (
SELECT eventi.componente,
SELECT DISTINCT eventi.componente,
eventi.ruolo,
eventi.categoria_evento,
eventi.tipo_evento,
Expand Down
29 changes: 29 additions & 0 deletions src/main/resources/db/sql/oracle/patch/3.1-rc2.sql
Original file line number Diff line number Diff line change
Expand Up @@ -380,3 +380,32 @@ ALTER TABLE tipi_vers_domini ADD COLUMN trac_csv_header_risposta CLOB;
ALTER TABLE tipi_vers_domini ADD COLUMN trac_csv_template_richiesta CLOB;
ALTER TABLE tipi_vers_domini ADD COLUMN trac_csv_template_risposta CLOB;

-- 27/08/2019 Vista Eventi per Versamenti
DROP VIEW v_eventi_vers;
CREATE VIEW v_eventi_vers AS (
SELECT DISTINCT eventi.componente,
eventi.ruolo,
eventi.categoria_evento,
eventi.tipo_evento,
eventi.sottotipo_evento,
eventi.data,
eventi.intervallo,
eventi.esito,
eventi.sottotipo_esito,
eventi.dettaglio_esito,
eventi.parametri_richiesta,
eventi.parametri_risposta,
eventi.dati_pago_pa,
coalesce(eventi.cod_versamento_ente, versamenti.cod_versamento_ente) as cod_versamento_ente,
coalesce (eventi.cod_applicazione, applicazioni.cod_applicazione) as cod_applicazione,
eventi.iuv,
eventi.cod_dominio,
eventi.ccp,
eventi.id_sessione,
eventi.id
FROM eventi LEFT JOIN pagamenti_portale ON eventi.id_sessione = pagamenti_portale.id_sessione
LEFT JOIN pag_port_versamenti ON pagamenti_portale.id = pag_port_versamenti.id_pagamento_portale
LEFT JOIN versamenti ON versamenti.id = pag_port_versamenti.id_versamento
LEFT JOIN applicazioni ON versamenti.id_applicazione = applicazioni.id
);

2 changes: 1 addition & 1 deletion src/main/resources/db/sql/postgresql/gov_pay.sql
Original file line number Diff line number Diff line change
Expand Up @@ -1296,7 +1296,7 @@ CREATE VIEW v_riscossioni AS


CREATE VIEW v_eventi_vers AS (
SELECT eventi.componente,
SELECT DISTINCT eventi.componente,
eventi.ruolo,
eventi.categoria_evento,
eventi.tipo_evento,
Expand Down

0 comments on commit 1da3a66

Please sign in to comment.