Skip to content

Commit

Permalink
added new test
Browse files Browse the repository at this point in the history
  • Loading branch information
nicolo-isaia committed Jul 16, 2022
1 parent 4366852 commit 2fc7810
Show file tree
Hide file tree
Showing 9 changed files with 786 additions and 4 deletions.
61 changes: 58 additions & 3 deletions reports.html

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -97,4 +97,5 @@ Feature: PRO_ANNULLO_06
And checks the value PAYING, INSERTED, PAYING of the record at column STATUS of the table POSITION_STATUS retrived by the query payment_status on db nodo_online under macro AppIO
And checks the value PAYING of the record at column STATUS of the table POSITION_STATUS_SNAPSHOT retrived by the query payment_status on db nodo_online under macro AppIO
# check correctness POSITION_TRANSFER table
And checks the value Y, N of the record at column VALID of the table POSITION_TRANSFER retrived by the query payment_status on db nodo_online under macro AppIO
And checks the value Y, N of the record at column VALID of the table POSITION_TRANSFER retrived by the query payment_status on db nodo_online under macro AppIO
And restore initial configurations
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
Feature: PRO_ANNULLO_07

Background:
Given systems up

Scenario: Execute verifyPaymentNotice (Phase 1)
Given nodo-dei-pagamenti has config parameter scheduler.cancelIOPaymentActorMinutesToBack set to 1
And initial XML verifyPaymentNotice
"""
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:nod="http://pagopa-api.pagopa.gov.it/node/nodeForPsp.xsd">
<soapenv:Header/>
<soapenv:Body>
<nod:verifyPaymentNoticeReq>
<idPSP>AGID_01</idPSP>
<idBrokerPSP>97735020584</idBrokerPSP>
<idChannel>97735020584_03</idChannel>
<password>pwdpwdpwd</password>
<qrCode>
<fiscalCode>#creditor_institution_code#</fiscalCode>
<noticeNumber>#notice_number#</noticeNumber>
</qrCode>
</nod:verifyPaymentNoticeReq>
</soapenv:Body>
</soapenv:Envelope>
"""
When PSP sends SOAP verifyPaymentNotice to nodo-dei-pagamenti
Then check outcome is OK of verifyPaymentNotice response

Scenario: Execute activateIOPayment (Phase 2)
Given the Execute verifyPaymentNotice (Phase 1) scenario executed successfully
And initial XML activateIOPayment
"""
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:nod="http://pagopa-api.pagopa.gov.it/node/nodeForIO.xsd">
<soapenv:Header/>
<soapenv:Body>
<nod:activateIOPaymentReq>
<idPSP>$verifyPaymentNotice.idPSP</idPSP>
<idBrokerPSP>$verifyPaymentNotice.idBrokerPSP</idBrokerPSP>
<idChannel>$verifyPaymentNotice.idChannel</idChannel>
<password>$verifyPaymentNotice.password</password>
<!--Optional:-->
<idempotencyKey>#idempotency_key#</idempotencyKey>
<qrCode>
<fiscalCode>#creditor_institution_code#</fiscalCode>
<noticeNumber>#notice_number#</noticeNumber>
</qrCode>
<!--Optional:-->
<expirationTime>6000</expirationTime>
<amount>10.00</amount>
<!--Optional:-->
<dueDate>2021-12-12</dueDate>
<!--Optional:-->
<paymentNote>responseFull</paymentNote>
<!--Optional:-->
<payer>
<uniqueIdentifier>
<entityUniqueIdentifierType>G</entityUniqueIdentifierType>
<entityUniqueIdentifierValue>77777777777</entityUniqueIdentifierValue>
</uniqueIdentifier>
<fullName>name</fullName>
<!--Optional:-->
<streetName>street</streetName>
<!--Optional:-->
<civicNumber>civic</civicNumber>
<!--Optional:-->
<postalCode>code</postalCode>
<!--Optional:-->
<city>city</city>
<!--Optional:-->
<stateProvinceRegion>state</stateProvinceRegion>
<!--Optional:-->
<country>IT</country>
<!--Optional:-->
<e-mail>test.prova@gmail.com</e-mail>
</payer>
</nod:activateIOPaymentReq>
</soapenv:Body>
</soapenv:Envelope>
"""
When PSP sends SOAP activateIOPayment to nodo-dei-pagamenti
And job annullamentoRptMaiRichiesteDaPm triggered after 62 seconds
And wait 20 seconds for expiration
Then check outcome is OK of activateIOPayment response
And checks the value PAYING, CANCELLED of the record at column STATUS of the table POSITION_PAYMENT_STATUS retrived by the query payment_status on db nodo_online under macro AppIO
And checks the value CANCELLED of the record at column STATUS of the table POSITION_PAYMENT_STATUS_SNAPSHOT retrived by the query payment_status on db nodo_online under macro AppIO
And checks the value PAYING, INSERTED of the record at column STATUS of the table POSITION_STATUS retrived by the query payment_status on db nodo_online under macro AppIO
And checks the value INSERTED of the record at column STATUS of the table POSITION_STATUS_SNAPSHOT retrived by the query payment_status on db nodo_online under macro AppIO
And restore initial configurations

Scenario: Execute activateIOPayment1 (Phase 3)
Given the Execute activateIOPayment (Phase 2) scenario executed successfully
When PSP sends SOAP activateIOPayment to nodo-dei-pagamenti
Then check outcome is OK of activateIOPayment response
And checks the value PAYING, CANCELLED, PAYING of the record at column STATUS of the table POSITION_PAYMENT_STATUS retrived by the query payment_status on db nodo_online under macro AppIO
And checks the value CANCELLED, PAYING of the record at column STATUS of the table POSITION_PAYMENT_STATUS_SNAPSHOT retrived by the query payment_status on db nodo_online under macro AppIO
And checks the value PAYING, INSERTED, PAYING of the record at column STATUS of the table POSITION_STATUS retrived by the query payment_status on db nodo_online under macro AppIO
And checks the value PAYING of the record at column STATUS of the table POSITION_STATUS_SNAPSHOT retrived by the query payment_status on db nodo_online under macro AppIO
# check correctness POSITION_TRANSFER table
And checks the value Y, N of the record at column VALID of the table POSITION_TRANSFER retrived by the query payment_status on db nodo_online under macro AppIO
Original file line number Diff line number Diff line change
@@ -0,0 +1,121 @@
Feature: PRO_ANNULLO_08

Background:
Given systems up

Scenario: Execute verifyPaymentNotice (Phase 1)
Given nodo-dei-pagamenti has config parameter scheduler.cancelIOPaymentActorMinutesToBack set to 1
And initial XML verifyPaymentNotice
"""
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:nod="http://pagopa-api.pagopa.gov.it/node/nodeForPsp.xsd">
<soapenv:Header/>
<soapenv:Body>
<nod:verifyPaymentNoticeReq>
<idPSP>AGID_01</idPSP>
<idBrokerPSP>97735020584</idBrokerPSP>
<idChannel>97735020584_03</idChannel>
<password>pwdpwdpwd</password>
<qrCode>
<fiscalCode>#creditor_institution_code#</fiscalCode>
<noticeNumber>#notice_number#</noticeNumber>
</qrCode>
</nod:verifyPaymentNoticeReq>
</soapenv:Body>
</soapenv:Envelope>
"""
When PSP sends SOAP verifyPaymentNotice to nodo-dei-pagamenti
Then check outcome is OK of verifyPaymentNotice response

Scenario: Execute activateIOPayment (Phase 2)
Given the Execute verifyPaymentNotice (Phase 1) scenario executed successfully
And initial XML activateIOPayment
"""
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:nod="http://pagopa-api.pagopa.gov.it/node/nodeForIO.xsd">
<soapenv:Header/>
<soapenv:Body>
<nod:activateIOPaymentReq>
<idPSP>$verifyPaymentNotice.idPSP</idPSP>
<idBrokerPSP>$verifyPaymentNotice.idBrokerPSP</idBrokerPSP>
<idChannel>$verifyPaymentNotice.idChannel</idChannel>
<password>$verifyPaymentNotice.password</password>
<!--Optional:-->
<idempotencyKey>#idempotency_key#</idempotencyKey>
<qrCode>
<fiscalCode>#creditor_institution_code#</fiscalCode>
<noticeNumber>#notice_number#</noticeNumber>
</qrCode>
<!--Optional:-->
<expirationTime>6000</expirationTime>
<amount>10.00</amount>
<!--Optional:-->
<dueDate>2021-12-12</dueDate>
<!--Optional:-->
<paymentNote>responseFull</paymentNote>
<!--Optional:-->
<payer>
<uniqueIdentifier>
<entityUniqueIdentifierType>G</entityUniqueIdentifierType>
<entityUniqueIdentifierValue>77777777777</entityUniqueIdentifierValue>
</uniqueIdentifier>
<fullName>name</fullName>
<!--Optional:-->
<streetName>street</streetName>
<!--Optional:-->
<civicNumber>civic</civicNumber>
<!--Optional:-->
<postalCode>code</postalCode>
<!--Optional:-->
<city>city</city>
<!--Optional:-->
<stateProvinceRegion>state</stateProvinceRegion>
<!--Optional:-->
<country>IT</country>
<!--Optional:-->
<e-mail>test.prova@gmail.com</e-mail>
</payer>
</nod:activateIOPaymentReq>
</soapenv:Body>
</soapenv:Envelope>
"""
When PSP sends SOAP activateIOPayment to nodo-dei-pagamenti
Then check outcome is OK of activateIOPayment response

Scenario: Execute nodoInoltroEsitoPagamentoCarta (Phase 3)
Given the Execute activateIOPayment (Phase 2) scenario executed successfully
And PSP replies to nodo-dei-pagamenti with the pspNotifyPayment
"""
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:psp="http://pagopa-api.pagopa.gov.it/psp/pspForNode.xsd">
<soapenv:Header/>
<soapenv:Body>
<psp:pspNotifyPaymentRes>
<outcome>OK</outcome>
<!--Optional:-->
<wait>20</wait>
</psp:pspNotifyPaymentRes>
</soapenv:Body>
</soapenv:Envelope>
"""
When WISP sends rest POST inoltroEsito/carta to nodo-dei-pagamenti
"""
{
"idPagamento":"$activateIOPaymentResponse.paymentToken",
"RRN":10026669,
"tipoVersamento":"CP",
"identificativoIntermediario":"40000000001",
"identificativoPsp":"40000000001",
"identificativoCanale":"40000000001_06",
"importoTotalePagato":10.00,
"timestampOperazione":"2021-07-09T17:06:03.100+01:00",
"codiceAutorizzativo":"resOK",
"esitoTransazioneCarta":"00"
}
"""
And job annullamentoRptMaiRichiesteDaPm triggered after 61 seconds
And wait 10 seconds for expiration
Then verify the HTTP status code of inoltroEsito/carta response is 408
And check error is Operazione in timeout of inoltroEsito/carta response
And checks the value PAYING, PAYMENT_SENT, PAYMENT_UNKNOWN of the record at column STATUS of the table POSITION_PAYMENT_STATUS retrived by the query payment_status on db nodo_online under macro AppIO
And checks the value PAYMENT_UNKNOWN of the record at column STATUS of the table POSITION_PAYMENT_STATUS_SNAPSHOT retrived by the query payment_status on db nodo_online under macro AppIO
And checks the value PAYING of the record at column STATUS of the table POSITION_STATUS retrived by the query payment_status on db nodo_online under macro AppIO
And checks the value PAYING of the record at column STATUS of the table POSITION_STATUS_SNAPSHOT retrived by the query payment_status on db nodo_online under macro AppIO
And restore initial configurations
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
Feature: PRO_ANNULLO_09

Background:
Given systems up

Scenario: Execute verifyPaymentNotice (Phase 1)
Given nodo-dei-pagamenti has config parameter scheduler.cancelIOPaymentActorMinutesToBack set to 1
And initial XML verifyPaymentNotice
"""
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:nod="http://pagopa-api.pagopa.gov.it/node/nodeForPsp.xsd">
<soapenv:Header/>
<soapenv:Body>
<nod:verifyPaymentNoticeReq>
<idPSP>AGID_01</idPSP>
<idBrokerPSP>97735020584</idBrokerPSP>
<idChannel>97735020584_03</idChannel>
<password>pwdpwdpwd</password>
<qrCode>
<fiscalCode>#creditor_institution_code#</fiscalCode>
<noticeNumber>#notice_number#</noticeNumber>
</qrCode>
</nod:verifyPaymentNoticeReq>
</soapenv:Body>
</soapenv:Envelope>
"""
When PSP sends SOAP verifyPaymentNotice to nodo-dei-pagamenti
Then check outcome is OK of verifyPaymentNotice response

Scenario: Execute activateIOPayment (Phase 2)
Given the Execute verifyPaymentNotice (Phase 1) scenario executed successfully
And initial XML activateIOPayment
"""
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:nod="http://pagopa-api.pagopa.gov.it/node/nodeForIO.xsd">
<soapenv:Header/>
<soapenv:Body>
<nod:activateIOPaymentReq>
<idPSP>$verifyPaymentNotice.idPSP</idPSP>
<idBrokerPSP>$verifyPaymentNotice.idBrokerPSP</idBrokerPSP>
<idChannel>$verifyPaymentNotice.idChannel</idChannel>
<password>$verifyPaymentNotice.password</password>
<!--Optional:-->
<idempotencyKey>#idempotency_key#</idempotencyKey>
<qrCode>
<fiscalCode>#creditor_institution_code#</fiscalCode>
<noticeNumber>#notice_number#</noticeNumber>
</qrCode>
<!--Optional:-->
<expirationTime>6000</expirationTime>
<amount>10.00</amount>
<!--Optional:-->
<dueDate>2021-12-12</dueDate>
<!--Optional:-->
<paymentNote>responseFull</paymentNote>
<!--Optional:-->
<payer>
<uniqueIdentifier>
<entityUniqueIdentifierType>G</entityUniqueIdentifierType>
<entityUniqueIdentifierValue>77777777777</entityUniqueIdentifierValue>
</uniqueIdentifier>
<fullName>name</fullName>
<!--Optional:-->
<streetName>street</streetName>
<!--Optional:-->
<civicNumber>civic</civicNumber>
<!--Optional:-->
<postalCode>code</postalCode>
<!--Optional:-->
<city>city</city>
<!--Optional:-->
<stateProvinceRegion>state</stateProvinceRegion>
<!--Optional:-->
<country>IT</country>
<!--Optional:-->
<e-mail>test.prova@gmail.com</e-mail>
</payer>
</nod:activateIOPaymentReq>
</soapenv:Body>
</soapenv:Envelope>
"""
When PSP sends SOAP activateIOPayment to nodo-dei-pagamenti
Then check outcome is OK of activateIOPayment response

Scenario: Execute nodoInoltroEsitoPagamentoCarta (Phase 3)
Given the Execute activateIOPayment (Phase 2) scenario executed successfully
When WISP sends rest POST inoltroEsito/carta to nodo-dei-pagamenti
"""
{
"idPagamento":"$activateIOPaymentResponse.paymentToken",
"RRN":10026669,
"tipoVersamento":"CP",
"identificativoIntermediario":"irraggiungibile",
"identificativoPsp":"irraggiungibile",
"identificativoCanale":"irraggiungibile",
"importoTotalePagato":10.00,
"timestampOperazione":"2021-07-09T17:06:03.100+01:00",
"codiceAutorizzativo":"resOK",
"esitoTransazioneCarta":"00"
}
"""
And job annullamentoRptMaiRichiesteDaPm triggered after 61 seconds
And wait 10 seconds for expiration
Then verify the HTTP status code of inoltroEsito/carta response is 200
And check esito is KO of inoltroEsito/carta response
And check errorCode is CONPSP of inoltroEsito/carta response
And checks the value PAYING, PAYMENT_SENT, PAYMENT_SEND_ERROR of the record at column STATUS of the table POSITION_PAYMENT_STATUS retrived by the query payment_status on db nodo_online under macro AppIO
And checks the value PAYMENT_SEND_ERROR of the record at column STATUS of the table POSITION_PAYMENT_STATUS_SNAPSHOT retrived by the query payment_status on db nodo_online under macro AppIO
And checks the value PAYING of the record at column STATUS of the table POSITION_STATUS retrived by the query payment_status on db nodo_online under macro AppIO
And checks the value PAYING of the record at column STATUS of the table POSITION_STATUS_SNAPSHOT retrived by the query payment_status on db nodo_online under macro AppIO
And restore initial configurations
Loading

0 comments on commit 2fc7810

Please sign in to comment.