Skip to content

Commit

Permalink
Issue #345
Browse files Browse the repository at this point in the history
Implementato servizio FlussiRendicontazione per le API-Ragioneria V3.
  • Loading branch information
pintorig committed Jul 27, 2021
1 parent 786cfc2 commit f58d67c
Show file tree
Hide file tree
Showing 33 changed files with 2,448 additions and 120 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
package test.api.ragioneria.v3.flussiRendicontazione;

import java.io.File;

import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.runner.RunWith;

import com.intuit.karate.FileUtils;
import com.intuit.karate.junit4.Karate;
import com.intuit.karate.netty.FeatureServer;

@RunWith(Karate.class)
public class RagioneriaFlussiRendicontazioneTest {

private static FeatureServer mockservice;

@BeforeClass
public static void beforeClass() {
File file = FileUtils.getFileRelativeTo(RagioneriaFlussiRendicontazioneTest.class, "../../../../../utils/mock-ente.feature");
mockservice = FeatureServer.start(file, 8888, false, null);
}

@AfterClass
public static void afterClass() {
mockservice.stop();
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,123 @@
Feature: Gestione rendicontazione di altri intermediari

Background:

* callonce read('classpath:utils/common-utils.feature')
* callonce read('classpath:configurazione/v1/anagrafica_estesa.feature')
* callonce read('classpath:utils/nodo-genera-rendicontazioni.feature')
* callonce read('classpath:utils/govpay-op-acquisisci-rendicontazioni.feature')
* def ragioneriaBaseurl = getGovPayApiBaseUrl({api: 'ragioneria', versione: 'v3', autenticazione: 'basic'})

Scenario: Acquisizione flusso di rendicontazione per EC registrati ma gestiti da altri intermediari

* def tipoRicevuta = "R01"
* def riversamentoCumulativo = "true"
* call read('classpath:utils/workflow/modello3/v2/modello3-pagamento.feature')

* def ndpsym_rendicontazioni_url = ndpsym_url + '/pagopa/rs/dars/rendicontazioni/'

Given url ndpsym_rendicontazioni_url
And path 'generaEsterni', idDominio
When method get
Then assert responseStatus == 200
And def generaEsterni = response

* call read('classpath:utils/govpay-op-acquisisci-rendicontazioni.feature')

Given url ragioneriaBaseurl
And path 'flussiRendicontazione'
And headers idA2ABasicAutenticationHeader
When method get
Then status 200
And match response ==
"""
{
numRisultati: '##number',
numPagine: '##number',
risultatiPerPagina: '##number',
pagina: '##number',
prossimiRisultati: '##string',
risultati: '#[]'
}
"""
And match response.risultati[0].idFlusso == generaEsterni.response.rendicontazioni[0].identificativoFlusso

Given url ragioneriaBaseurl
And path 'flussiRendicontazione', generaEsterni.response.rendicontazioni[0].identificativoFlusso
And headers idA2ABasicAutenticationHeader
When method get
Then status 200

Scenario: Acquisizione flusso di rendicontazione per EC non registrati

Given url ndpsym_rendicontazioni_url
And path 'generaEstraneo'
When method get
Then assert responseStatus == 200
And def generaEstranei = response

* call read('classpath:utils/govpay-op-acquisisci-rendicontazioni.feature')

Given url ragioneriaBaseurl
And path 'flussiRendicontazione'
And headers idA2ABasicAutenticationHeader
When method get
Then status 200
And match response ==
"""
{
numRisultati: '##number',
numPagine: '##number',
risultatiPerPagina: '##number',
pagina: '##number',
prossimiRisultati: '##string',
risultati: '#[]'
}
"""
And match response.risultati[0].idFlusso == generaEstranei.response.rendicontazioni[0].identificativoFlusso

Given url ragioneriaBaseurl
And path 'flussiRendicontazione', generaEstranei.response.rendicontazioni[0].identificativoFlusso
And headers idA2ABasicAutenticationHeader
When method get
Then status 200

Scenario: Acquisizione flusso di rendicontazione errati

* def tipoRicevuta = "R01"
* def riversamentoCumulativo = "true"
* call read('classpath:utils/workflow/modello3/v2/modello3-pagamento.feature')

* def ndpsym_rendicontazioni_url = ndpsym_url + '/pagopa/rs/dars/rendicontazioni/'

Given url ndpsym_rendicontazioni_url
And path 'generaErrate', idDominio
When method get
Then assert responseStatus == 200
And def generaErrate = response

* call read('classpath:utils/govpay-op-acquisisci-rendicontazioni.feature')

Given url ragioneriaBaseurl
And path 'flussiRendicontazione'
And headers idA2ABasicAutenticationHeader
When method get
Then status 200
And match response ==
"""
{
numRisultati: '##number',
numPagine: '##number',
risultatiPerPagina: '##number',
pagina: '##number',
prossimiRisultati: '##string',
risultati: '#[]'
}
"""
And match response.risultati[0].idFlusso == generaErrate.response.rendicontazioni[0].identificativoFlusso

Given url ragioneriaBaseurl
And path 'flussiRendicontazione', generaErrate.response.rendicontazioni[0].identificativoFlusso
And headers idA2ABasicAutenticationHeader
When method get
Then status 200
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
Feature: Ricerca per filtri sui metadati di paginazione

Background:

* def pathServizio = '/flussiRendicontazione'

* callonce read('classpath:utils/api/v3/ragioneria/bunch-riconciliazioni-v2.feature')

* def ragioneriaBaseurl = getGovPayApiBaseUrl({api: 'ragioneria', versione: 'v3', autenticazione: 'basic'})

Scenario: Ricerca flussiRendicontazione con iuv impostato

Given url ragioneriaBaseurl
And path pathServizio
And param iuv = '1_2_3_4'
And headers idA2ABasicAutenticationHeader
When method get
Then status 200
And match response ==
"""
{
numRisultati: '#notnull',
numPagine: '#notnull',
risultatiPerPagina: '#notnull',
pagina: '#notnull',
prossimiRisultati: '##null',
risultati: '#[]'
}
"""


Scenario Outline: Ricerca rendicontazioni da applicazione <applicazione>.

* def applicazione = read('msg/<applicazione>')
* def backofficeBaseurl = getGovPayApiBaseUrl({api: 'backoffice', versione: 'v1', autenticazione: 'basic'})

Given url backofficeBaseurl
And path 'applicazioni', idA2A
And headers gpAdminBasicAutenticationHeader
And request applicazione
When method put
Then assert responseStatus == 200 || responseStatus == 201

* call read('classpath:configurazione/v1/operazioni-resetCache.feature')
* def ragioneriaBaseurl = getGovPayApiBaseUrl({api: 'ragioneria', versione: 'v3', autenticazione: 'basic'})

Given url ragioneriaBaseurl
And path pathServizio
And headers idA2ABasicAutenticationHeader
And param dataDa = dataInizioFR
And param dataA = dataFineFR
And param iuv = '1_2_3_4'
When method get
Then status 200
And match response ==
"""
{
numRisultati: <numRisultati>,
numPagine: 1,
risultatiPerPagina: 25,
pagina: 1,
prossimiRisultati: '##null',
risultati: '#[<numRisultati>]'
}
"""

Examples:
| applicazione | numRisultati |
| applicazione_star.json | 0 |
| applicazione_dominio1.json | 0 |
| applicazione_dominio2.json | 0 |
| applicazione_nonAuthDominio.json | 0 |

Original file line number Diff line number Diff line change
@@ -0,0 +1,129 @@
Feature: Ricerca per filtri sui metadati di paginazione

Background:

* callonce read('classpath:utils/common-utils.feature')
* callonce read('classpath:configurazione/v1/anagrafica.feature')
* def ragioneriaBaseurl = getGovPayApiBaseUrl({api: 'ragioneria', versione: 'v3', autenticazione: 'basic'})
* def basicAutenticationHeader = getBasicAuthenticationHeader( { username: idA2A, password: pwdA2A } )
* def pathServizio = '/flussiRendicontazione'

Scenario: Ricerca tracciati senza filtri sui metadati di paginazione

Given url ragioneriaBaseurl
And path pathServizio
And headers basicAutenticationHeader
When method get
Then status 200
And match response ==
"""
{
numRisultati: '#notnull',
numPagine: '#notnull',
risultatiPerPagina: '#notnull',
pagina: '#notnull',
prossimiRisultati: '#notnull',
risultati: '#[]'
}
"""

Scenario: Ricerca tracciati con metadatiPaginazione true

Given url ragioneriaBaseurl
And path pathServizio
And param metadatiPaginazione = true
And headers basicAutenticationHeader
When method get
Then status 200
And match response ==
"""
{
numRisultati: '#notnull',
numPagine: '#notnull',
risultatiPerPagina: '#notnull',
pagina: '#notnull',
prossimiRisultati: '#notnull',
risultati: '#[]'
}
"""

Scenario: Ricerca tracciati con metadatiPaginazione false

Given url ragioneriaBaseurl
And path pathServizio
And param metadatiPaginazione = false
And headers basicAutenticationHeader
When method get
Then status 200
And match response ==
"""
{
numRisultati: '#notpresent',
numPagine: '#notpresent',
risultatiPerPagina: '#notnull',
pagina: '#notnull',
prossimiRisultati: '#notnull',
risultati: '#[]'
}
"""

Scenario: Ricerca tracciati con metadatiPaginazione true e risultatiPerPagina = 0

Given url ragioneriaBaseurl
And path pathServizio
And param metadatiPaginazione = true
And param risultatiPerPagina = 0
And headers basicAutenticationHeader
When method get
Then status 200
And match response ==
"""
{
numRisultati: '#notnull',
numPagine: '#notpresent',
risultatiPerPagina: 0,
pagina: '#notnull',
prossimiRisultati: '#notpresent',
risultati: '#[0]'
}
"""

Scenario: Ricerca tracciati con maxRisultati true

Given url ragioneriaBaseurl
And path pathServizio
And param maxRisultati = true
And headers basicAutenticationHeader
When method get
Then status 200
And match response ==
"""
{
numRisultati: '#notnull',
numPagine: '#notnull',
risultatiPerPagina: '#notnull',
pagina: '#notnull',
prossimiRisultati: '#notnull',
risultati: '#[]'
}
"""

Scenario: Ricerca tracciati con maxRisultati false

Given url ragioneriaBaseurl
And path pathServizio
And param maxRisultati = false
And headers basicAutenticationHeader
When method get
Then status 200
And match response ==
"""
{
numRisultati: '#notnull',
numPagine: '#notnull',
risultatiPerPagina: '#notnull',
pagina: '#notnull',
prossimiRisultati: '#notnull',
risultati: '#[]'
}
"""

0 comments on commit f58d67c

Please sign in to comment.