Skip to content

A service that permits to handle nodoInviaRPT and nodoInviaCarrelloRPT requests from WISP, interfacing them with GPD system

Notifications You must be signed in to change notification settings

pagopa/pagopa-wisp-converter

Repository files navigation

pagoPA WISP Converter

Quality Gate Status Integration Tests

A service that permits to handle nodoInviaRPT and nodoInviaCarrelloRPT request from WISP, interfacing them with GPD system


Api Documentation 📖

See the OpenApi 3 here.


Technology Stack

  • Java 17
  • Spring Boot
  • Hibernate
  • Azure CosmosDB
  • Redis Cache

Develop Locally 💻

Prerequisites

  • Maven
  • JDK17

Before the first run

In order to get the latest updated sources and to correctly execute the application, it is necessary to generate the source classes from WSDL and XSD definition. For doing so, move in scripts folder and execute the following command:

sh update-specs.sh

After the execution, the newly generated classes are added in target/generated-sources/jaxb folder. The application now can be run and all the class references are correctly resolved.

Run the project

Start the Spring Boot application with this command:

mvn spring-boot:run -Dspring-boot.run.profiles=local

Testing 🧪

Unit testing

To run the Junit tests:

mvn clean verify

Integration testing

For automatic execution of simple tests for checking the correct workflow between the various components, execute the following commands from ./integration-test/system-test:

sh run.sh dev TESTCASE SUBKEY

A more wide information about this test can be found in Readme file in the same folder.
For classical integration tests with Cucumber, execute the following commands from ./integration-test/cucumber/src:

  1. yarn install
  2. yarn test

A report with the results will appears at this link.

Performance testing

install k6 and then from ./performance-test/src

  1. k6 run --env VARS=local.environment.json --env TEST_TYPE=./test-types/load.json main_scenario.js

Contributors 👥

Made with ❤️ by PagoPa S.p.A.

Mainteiners

See CODEOWNERS file