From ecc1bb95cef5b6312cd49a0be68eaec22b0687d9 Mon Sep 17 00:00:00 2001 From: Andrea Di Lisio Date: Mon, 13 Jan 2025 12:16:31 +0100 Subject: [PATCH] [ACL-264] CI, dependencies, example project and changelog updates (#338) --- .github/pull_request_template.md | 1 + .github/workflows/build-test-coverage.yml | 2 +- .github/workflows/workflow-examples.yml | 36 + CHANGELOG.md | 899 ++++++++++++++++++ CONTRIBUTING.md | 3 +- build.gradle | 4 +- examples/quarkus-mvc/.gitignore | 5 + examples/quarkus-mvc/README.md | 73 +- examples/quarkus-mvc/build.gradle | 26 +- examples/quarkus-mvc/gradle.properties | 10 +- .../gradle/wrapper/gradle-wrapper.jar | Bin 59536 -> 43583 bytes .../gradle/wrapper/gradle-wrapper.properties | 4 +- examples/quarkus-mvc/gradlew | 44 +- examples/quarkus-mvc/gradlew.bat | 37 +- examples/quarkus-mvc/home.png | Bin 139031 -> 0 bytes examples/quarkus-mvc/settings.gradle | 6 +- .../src/main/docker/Dockerfile.jvm | 74 +- .../src/main/docker/Dockerfile.legacy-jar | 76 +- .../src/main/docker/Dockerfile.native | 12 +- .../main/docker/Dockerfile.native-distroless | 23 - .../src/main/docker/Dockerfile.native-micro | 30 + .../quarkusmvc/TrueLayerClientProvider.java | 24 +- .../controllers/DonationsController.java | 35 +- .../controllers/SubscriptionsController.java | 15 +- .../quarkusmvc/models/DonationRequest.java | 5 +- .../models/SubscriptionRequest.java | 3 +- .../quarkusmvc/services/DonationService.java | 34 +- .../quarkusmvc/services/IDonationService.java | 3 +- .../services/ISubscriptionService.java | 3 - .../services/SubscriptionService.java | 46 +- .../src/main/resources/application.properties | 6 + .../quarkusmvc/NativeDonateControllerIT.java | 8 - .../NativeDonateControllerTest.java | 8 + .../quarkusmvc/DonateControllerTest.java | 15 +- gradle.properties | 2 +- 35 files changed, 1357 insertions(+), 215 deletions(-) create mode 100644 .github/workflows/workflow-examples.yml create mode 100644 CHANGELOG.md delete mode 100644 examples/quarkus-mvc/home.png delete mode 100644 examples/quarkus-mvc/src/main/docker/Dockerfile.native-distroless create mode 100644 examples/quarkus-mvc/src/main/docker/Dockerfile.native-micro delete mode 100644 examples/quarkus-mvc/src/native-test/java/com/truelayer/quarkusmvc/NativeDonateControllerIT.java create mode 100644 examples/quarkus-mvc/src/native-test/java/com/truelayer/quarkusmvc/NativeDonateControllerTest.java diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index ce04185e..20af8fd8 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -16,6 +16,7 @@ Please select multiple options if required. # Checklist: - [ ] I have updated the `gradle.properties` file with the new version +- [ ] I have updated the `CHANGELOG.md` file with the details of the new versio - [ ] My code follows the style guidelines of this project - [ ] I have performed a self-review of my own code - [ ] I have commented my code where necessary diff --git a/.github/workflows/build-test-coverage.yml b/.github/workflows/build-test-coverage.yml index 7805d122..616d806e 100644 --- a/.github/workflows/build-test-coverage.yml +++ b/.github/workflows/build-test-coverage.yml @@ -24,7 +24,7 @@ jobs: matrix: os: [ ubuntu-latest ] java-distribution: [ temurin ] - java-version: [ 11, 17, 20, 21 ] + java-version: [ 11, 17, 20, 21, 22, 23 ] runs-on: ${{ matrix.os }} outputs: project_version: ${{ steps.get_project_version.outputs.project_version }} diff --git a/.github/workflows/workflow-examples.yml b/.github/workflows/workflow-examples.yml new file mode 100644 index 00000000..b1e4452a --- /dev/null +++ b/.github/workflows/workflow-examples.yml @@ -0,0 +1,36 @@ +# Workflow that runs on the examples projects. +# Triggered by pushes on the main branch (excluding tags). +# Build, test, run coverage analysis and release to Maven Central a final release. +name: Workflow on example projects + +on: + push: + tags-ignore: + - '**' + +jobs: + build-test: + strategy: + matrix: + project-working-dir: ["quarkus-mvc"] + name: Build and tests + runs-on: ubuntu-latest + defaults: + run: + working-directory: ./examples/${{ matrix.project-working-dir }} + steps: + - uses: actions/checkout@v4 + - name: Setup JDK + uses: actions/setup-java@v4 + with: + java-version: '21' + distribution: 'temurin' + cache: 'gradle' + - name: Validate Gradle wrapper + uses: gradle/actions/wrapper-validation@v3 + - name: Lint + run: ./gradlew spotlessJavaCheck + - name: Build + run: ./gradlew build -x test + - name: Run tests + run: ./gradlew test diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 00000000..72dc03eb --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,899 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/). + +## [Unreleased] + +## [16.3.1] - 2025-01-10 +### Changed +* Upgrades linting and test libraries +* Upgrades quarkus-mvc test project and introduce CI workflow for that +* Upgrades CI environment +* Introduces CHANGELOG.md file + +### Changed +* feat(ACL-251): Adds method to generate SU+ Authentication URI for FI payments by @dili91 in https://github.com/TrueLayer/truelayer-java/pull/332 + + +## [16.3.0] - 2025-01-08 + +### Added +* feat(ACL-251): Adds method to generate SU+ Authentication URI for FI payments by @dili91 in https://github.com/TrueLayer/truelayer-java/pull/332 + + + +## [16.2.0] - 2024-12-10 + +### Added +* Add search payments providers endpoint + statement reference to merchant account by @tl-luca-baggi in https://github.com/TrueLayer/truelayer-java/pull/330 + + + +## [16.1.0] - 2024-11-26 + +### Added +* [ACL-226] New HPP link builder with ability to show mandate results, and set wait and/or signup by @dili91 in https://github.com/TrueLayer/truelayer-java/pull/328 + + + +## [16.0.1] - 2024-11-21 + +### Added +* chore(ACL-225): v3 endpoints used for Payments API by @dili91 in https://github.com/TrueLayer/truelayer-java/pull/327 + + + +## [16.0.0] - 2024-10-30 + +### Added +* Merchant accounts updates by @tl-luca-baggi in https://github.com/TrueLayer/truelayer-java/pull/325 + + + +### Changes +- ⚠️ Breaking: removed `currency` property from `UpdateSweepingRequest` + +## [15.0.0] - 2024-10-18 + +### New features +- Signup+ endpoint to [generate the Auth URI to be used in Finland](https://docs.truelayer.com/reference/generateauthuri) +- Signup+ endpoint to [get identity data associated to a payment, both in UK and Finland](https://docs.truelayer.com/reference/getuserdatabypayment) +- Added the `Authorizing` status returned in the [Create Payment API response](https://docs.truelayer.com/reference/create-payment) +- Added the `scheme_selection` field in the [Create Payout API request](https://docs.truelayer.com/reference/create-payout) + +### Changes +- ⚠️ Breaking: the currency property of the `PaymentDetail` class in now an enum `CurrencyCode` + +## [14.3.0] - 2024-10-16 + +### Added +* [ACL-167] Add sub_merchants support to payouts by @tl-luca-baggi in https://github.com/TrueLayer/truelayer-java/pull/320 + + + +## [14.2.0] - 2024-09-27 + +### Added +* feat(ACL-195): Adds cancel payment support by @dili91 in https://github.com/TrueLayer/truelayer-java/pull/315 + + + +## [14.1.0] - 2024-09-18 + +### Added +* [ACL-159] Add user_selected scheme selection by @tl-luca-baggi in https://github.com/TrueLayer/truelayer-java/pull/313 + + + +## [14.0.0] - 2024-09-17 + +### Added +* [ACL-180] Add preselected scheme selection to preselected provider by @tl-luca-baggi in https://github.com/TrueLayer/truelayer-java/pull/312 +* ⚠️ Breaking ⚠️ : `SchemeSelection` property for `UserSelectedProviderSelection` object has been moved from `com.truelayer.java.payments.entities.schemeselection` package to `com.truelayer.java.payments.entities.schemeselection.userselected` package + + + +## [13.3.0] - 2024-09-11 + +### Added +* [ACL-161] Add risk_assessment field to create payment request by @tl-luca-baggi in https://github.com/TrueLayer/truelayer-java/pull/311 + + + +## [13.2.0] - 2024-09-10 + +### Added +* feat(ACL-162): supports for verified payins by @dili91 in https://github.com/TrueLayer/truelayer-java/pull/310 + + + +## [13.1.2] - 2024-08-05 + +### Added +* [ACL-174] Improve retry payments acceptance tests by @tl-luca-baggi in https://github.com/TrueLayer/truelayer-java/pull/303 +* [ACL-175] Fix missing EqualsAndHashCode Lombok annotations by @tl-luca-baggi in https://github.com/TrueLayer/truelayer-java/pull/304 + + + +## [13.1.0] - 2024-07-25 + +### Added +* [ACL-32] Ownership change by @dili91 in https://github.com/TrueLayer/truelayer-java/pull/299 +* [ACL-138] Add support for retry parameter by @tl-luca-baggi in https://github.com/TrueLayer/truelayer-java/pull/300 + + + +## [13.0.5] - 2024-06-24 + +### Added +* [EWT-590] Fix mandates acceptance tests by @tl-luca-baggi in https://github.com/TrueLayer/truelayer-java/pull/296 + + + +## [13.0.4] - 2024-06-13 + +### Added +* [EWT-567] Version info management simplification by @dili91 in https://github.com/TrueLayer/truelayer-java/pull/293 + + + +## [13.0.3] - 2024-05-27 + +### Added +* chore(EWT-561): improved reporting for acceptance tests by @dili91 in https://github.com/TrueLayer/truelayer-java/pull/291 + + + +## [13.0.2] - 2024-05-17 + +### Added +* Adjust settlement/authorisation timeouts in acceptance tests, and review version info loader implementation by @dili91 in https://github.com/TrueLayer/truelayer-java/pull/289 + + + +## [13.0.1] - 2024-05-16 + +### Added +* chore(EWT-560): Dependency updates and improved reporting for failed acceptance tests by @dili91 in https://github.com/TrueLayer/truelayer-java/pull/288 + + + +## [13.0.0] - 2024-04-24 + +### Added +* fix(EWT-543): type change for description field in authorization flow actions objects by @dili91 in https://github.com/TrueLayer/truelayer-java/pull/286 + + + +## [12.0.0] - 2024-04-17 + +### Added +* Added `capabilities.payments.bankTransfer.availability` field to `PaymentsProvider` response entity +* Added `capabilities.mandates.vrpSweeping.availability` field to `PaymentsProvider` response entity +* Added `capabilities.mandates.vrpSweeping.availability` field to `PaymentsProvider` response entity +* ⚠️ **BREAKING** ⚠️ Removed `errorRate` field from `ProviderAvailability` object (used in the new fields defined above and in the already existing `ProviderSelection` authorization flow action + + + +## [11.1.0] - 2024-04-15 + +### Added +* feat(EWT-535): Support for merchant account transactions pagination by @dili91 in https://github.com/TrueLayer/truelayer-java/pull/279 + + + +## [11.0.1] - 2024-02-13 + +### Added +* feat(PAYINS-504): Set Authorization header to `GET v3/payments-providers/{id}` by @tl-facundo-aita in https://github.com/TrueLayer/truelayer-java/pull/270 + + + +## [11.0.0] - 2024-01-08 + +### Added +* added constant for commercial VRP scope: RECURRING_PAYMENTS_COMMERCIAL +* ⚠️ Breaking ⚠️ : refactor the submit provider return response object to support multiple resource types (single payments and mandates) +* tests: refactor the way we do headless auth for payments and mandates in acceptance tests + + + +## [10.3.1] - 2023-12-05 + +### Added +* chore(EWT-359): dependencies and CI updates by @dili91 in https://github.com/TrueLayer/truelayer-java/pull/242 + + + +## [10.3.0] - 2023-11-03 + +### Added +* [EWT-371] Add payment_source property to authorized and failed payment details by @tl-luca-baggi in https://github.com/TrueLayer/truelayer-java/pull/234 + + + +## [10.2.0] - 2023-10-18 + +### Added +* [DNTT-489] Added settlement_risk to executed and settled payment details response types by @dili91 in https://github.com/TrueLayer/truelayer-java/pull/233 + + + +## [10.1.1] - 2023-10-12 + +### Added +* chore(EWT-358): upgrade to Wiremock 3.X, and more internal deps by @dili91 in https://github.com/TrueLayer/truelayer-java/pull/230 + + + +## [10.1.0] - 2023-10-12 + +### Added +* Adds support for `related_products` object on payment and mandate creation requests +* Adds support for `X-Device-User-Agent` HTTP header on start authorization flow + +PR: https://github.com/TrueLayer/truelayer-java/pull/228 + + +## [10.0.0] - 2023-09-04 + +### Added +- **new**: feature to set explicit global OAuth scopes globally on the client. More on [this Wiki entry](https://github.com/TrueLayer/truelayer-java/wiki/Oauth-access-tokens-management#global-oauth-scopes) +- **changed:** Adapts the /token/connect request to the API specs +- **changed:** Sets explicit scopes on all authenticated requests (relates to #210) +- **changed ⚠️ BREAKING** : changes how caching works and the ICredentialsCache to work with scopes. More on this [wiki page](https://github.com/TrueLayer/truelayer-java/wiki/Oauth-access-tokens-management) + + +## [9.0.1] - 2023-08-24 + +### Added +* [Dependabot]: Bump org.junit.jupiter:junit-jupiter from 5.9.3 to 5.10.0 by @dependabot in https://github.com/TrueLayer/truelayer-java/pull/209 +* [Dependabot]: Bump com.diffplug.spotless from 6.19.0 to 6.20.0 by @dependabot in https://github.com/TrueLayer/truelayer-java/pull/207 +* [Dependabot]: Bump io.freefair.lombok from 8.1.0 to 8.2.1 by @dependabot in https://github.com/TrueLayer/truelayer-java/pull/212 +* [EWT-278] Build also against JDK 20 by @dili91 in https://github.com/TrueLayer/truelayer-java/pull/211 +* [Dependabot]: Bump io.freefair.lombok from 8.2.1 to 8.2.2 by @dependabot in https://github.com/TrueLayer/truelayer-java/pull/214 +* fix(EWT-328): improperly formatted datetime string on transactions endpoint by @dili91 in https://github.com/TrueLayer/truelayer-java/pull/216 + + + +## [9.0.0] - 2023-07-19 + +### Added +* [Dependabot]: Bump io.freefair.lombok from 8.0.1 to 8.1.0 by @dependabot in https://github.com/TrueLayer/truelayer-java/pull/206 +* [EWT-306] Fix models inconsistencies by @tl-luca-baggi in https://github.com/TrueLayer/truelayer-java/pull/208 + +## Breaking change notice +* on `Failed` mandates object, renamed `authorisationFailedAt` property to `failedAt` +* on `Revoked` mandates object, removed `remitter` property + + + +## [8.0.0] - 2023-05-24 + +### Added +* [Dependabot]: Bump org.apache.commons:commons-configuration2 from 2.8.0 to 2.9.0 by @dependabot in https://github.com/TrueLayer/truelayer-java/pull/196 +* [Dependabot]: Bump com.squareup.okhttp3:okhttp from 4.10.0 to 4.11.0 by @dependabot in https://github.com/TrueLayer/truelayer-java/pull/199 +* [Dependabot]: Bump org.junit.jupiter:junit-jupiter from 5.9.2 to 5.9.3 by @dependabot in https://github.com/TrueLayer/truelayer-java/pull/200 +* [Dependabot]: Bump com.diffplug.spotless from 6.17.0 to 6.18.0 by @dependabot in https://github.com/TrueLayer/truelayer-java/pull/197 +* [EWT-192] Add support for a limited set of custom HTTP headers by @dili91 in https://github.com/TrueLayer/truelayer-java/pull/204 + +## Breaking change notice +- The ITrueLayerClient interface returns only _Handlers_ interface, as opposed to the previous mix of _Api_ and _Handlers_ interface. +- the old mechanism to set the `X-Forwarded-For` header on the `startAuthorizationFlow` invocations is superseded by the new API. +- The (empty) SubmitConsentRequest object has been removed in favour of a more generic empty request body type. + + + +## [7.0.0] - 2023-05-11 + +## Breaking change notice +`Beneficiary` entity and its extensions (`ExternalAccount`, `PaymentSource`, `BusinessAccount`) have been moved from `com.truelayer.java.merchantaccounts.entities.transactions.beneficiary` to `com.truelayer.java.entities.beneficiary` package. The same entities are referenced from the newly introduced payout entities + +### Added +* [EWT-194] Add payouts support by @tl-luca-baggi in https://github.com/TrueLayer/truelayer-java/pull/203 + + + +## [6.3.0] - 2023-05-04 + +### Added +* [EWT-191] Add support for custom proxy configurations with authentication by @dili91 in https://github.com/TrueLayer/truelayer-java/pull/202 + + + +## [6.2.0] - 2023-05-03 + +### Added +* [EWT-78] Add payment refunds support by @tl-luca-baggi in https://github.com/TrueLayer/truelayer-java/pull/201 + + + +## [6.1.0] - 2023-03-27 + +### Added +* [Dependabot]: Bump io.github.gradle-nexus.publish-plugin from 1.2.0 to 1.3.0 by @dependabot in https://github.com/TrueLayer/truelayer-java/pull/190 +* [Dependabot]: Bump com.diffplug.spotless from 6.16.0 to 6.17.0 by @dependabot in https://github.com/TrueLayer/truelayer-java/pull/192 +* [EWT-135] feat: adds support for `X-Forwarded-For` HTTP header in start auth flow for single payments by @dili91 in https://github.com/TrueLayer/truelayer-java/pull/195 + + + +## [6.0.1] - 2023-03-06 + +### Added +* [Dependabot]: Bump junit-jupiter from 5.9.1 to 5.9.2 by @dependabot in https://github.com/TrueLayer/truelayer-java/pull/179 +* [EWT-99] bump com.diffplug.spotless from 6.12.1 to 6.14.1 + Removes java 8 from our CI matrix by @dependabot in https://github.com/TrueLayer/truelayer-java/pull/183 +* [EWT-73] Updates nexus publish-plugin, gradle wrapper and other internal libraries by @dili91 in https://github.com/TrueLayer/truelayer-java/pull/189 + + + +## [6.0.0] - 2023-01-13 + +### Added +* [EWT-85] fixes existing items returned by the `merchant-accounts/{id}/transactions` endpoint and add support for refunds by @dili91 in https://github.com/TrueLayer/truelayer-java/pull/180 + + + +## [5.0.0] - 2023-01-11 + +### Added +* [Dependabot]: Bump com.diffplug.spotless from 6.12.0 to 6.12.1 by @dependabot in https://github.com/TrueLayer/truelayer-java/pull/177 +* feat(PAYG-1374): Remove user info from get payment and mandate response by @tl-tai-tang in https://github.com/TrueLayer/truelayer-java/pull/178 + +## New Contributors +* @tl-tai-tang made their first contribution in https://github.com/TrueLayer/truelayer-java/pull/178 + + +## [4.2.0] - 2022-12-22 + +### Added +* [Dependabot]: Bump io.freefair.lombok from 6.6 to 6.6.1 by @dependabot in https://github.com/TrueLayer/truelayer-java/pull/174 +* feat: [PAYG-1363] add PLN and NOK currencies by @Lindronics in https://github.com/TrueLayer/truelayer-java/pull/176 + + + +## [4.1.0] - 2022-12-20 + +### Added +* Github actions updates by @dili91 in https://github.com/TrueLayer/truelayer-java/pull/173 +* [EWT-79] Default READ timeout reviewed + bugfix for existing custom timeout logic by @dili91 in https://github.com/TrueLayer/truelayer-java/pull/175 + + + +## [4.0.2] - 2022-12-16 + +### Added +* transitive dependencies constraint block to replace previous direct dependencies by @dili91 in https://github.com/TrueLayer/truelayer-java/pull/172 + + + +## [4.0.1] - 2022-12-16 + +### Added +* Bumps dependencies to solve a few vulnerabitities by @dili91 in https://github.com/TrueLayer/truelayer-java/pull/171 + + + +## [4.0.0] - 2022-12-15 + +### Added +* [EWT-63] `scheme_selection` support for single payments by @dili91 in https://github.com/TrueLayer/truelayer-java/pull/170 +* [REC-656] Async and Smart payment retries for recurring payments +* AuthorizationFlow related deprecated objects removal and provider selection DTOs renamed (leftovers) + + + +## [3.2.0] - 2022-12-13 + +### Added +* [REC-740] Get Mandate Constraints + tests by @tl-andrei-sorbun in https://github.com/TrueLayer/truelayer-java/pull/169 + + + +## [3.1.1] - 2022-12-05 + +### Added +* [JSDK-58] Captures Java version in TL-Agent, upgrades Gradle wrapper and CI by @dili91 in https://github.com/TrueLayer/truelayer-java/pull/167 + + + +## [3.1.0] - 2022-12-05 + +### Added +* [JSDK-86] New getters to help with responses interpretations + Dependency updates by @dili91 in https://github.com/TrueLayer/truelayer-java/pull/166 + + + +## [3.0.1] - 2022-12-01 + +### Added +* [EWT-61] feat(observability): User-agent HTTP header replaced with TL-Agent by @dili91 in https://github.com/TrueLayer/truelayer-java/pull/164 + + + +## [3.0.0] - 2022-11-30 + +## Breaking change notice +The `Mandate` and `MandateDetail` types now reference a `Beneficiary` class included in package `com.truelayer.java.mandates.entities.beneficiary` as opposed to the previous `com.truelayer.java.payments.entities.beneficiary`. Moreover, the new `Beneficiary` type for mandates does not contain any a reference field in it. This has now been moved into the `Mandate` type itself. + +### Added +* [Dependabot]: Bump com.diffplug.spotless from 6.11.0 to 6.12.0 by @dependabot in https://github.com/TrueLayer/truelayer-java/pull/163 +* [REC-725] feat(mandate reference): optional mandate reference added by @dili91 in https://github.com/TrueLayer/truelayer-java/pull/162 + + + +## [2.6.0] - 2022-11-17 + +### Added +* [Dependabot]: Bump wiremock-jre8 from 2.34.0 to 2.35.0 by @dependabot in https://github.com/TrueLayer/truelayer-java/pull/158 +* [REC-718] feat(recurring payments): reference added to create payment request for mandates by @dili91 in https://github.com/TrueLayer/truelayer-java/pull/161 + + + +## [2.5.1] - 2022-11-08 + +### Added +* fix: `form` and `consent` action response deserialisation by @Lindronics in https://github.com/TrueLayer/truelayer-java/pull/160 + + + +## [2.5.0] - 2022-10-10 + +### Added +* feat: [JSDK-70] get payments provider endpoint by @Lindronics in https://github.com/TrueLayer/truelayer-java/pull/156 +* fix: upgraded version to 2.5.0 by @Lindronics in https://github.com/TrueLayer/truelayer-java/pull/157 + + + +## [2.4.0] - 2022-10-04 + +### Added +* feat: [PAYG-1169] add status to create payment response by @Lindronics in https://github.com/TrueLayer/truelayer-java/pull/155 + + + +## [2.3.0] - 2022-09-28 + +### Added +* [Dependabot]: Bump junit-jupiter from 5.9.0 to 5.9.1 by @dependabot in https://github.com/TrueLayer/truelayer-java/pull/153 +* feat: [PAYG-1148] Add consent and form action support by @Lindronics in https://github.com/TrueLayer/truelayer-java/pull/154 + +## New Contributors +* @Lindronics made their first contribution in https://github.com/TrueLayer/truelayer-java/pull/154 + + +## [2.2.3] - 2022-09-20 + +### Added +* dependencies updates by @dili91 in https://github.com/TrueLayer/truelayer-java/pull/152 + + + +## [2.2.2] - 2022-09-14 + +### Added +* [PAYG-1133] Add extra fields to user object by @tl-wajid-malik in https://github.com/TrueLayer/truelayer-java/pull/148 + +## New Contributors +* @tl-wajid-malik made their first contribution in https://github.com/TrueLayer/truelayer-java/pull/148 + + +## [2.2.1] - 2022-09-14 + +### Added +* [REC-631] reference added to payments into merchant accounts by @dili91 in https://github.com/TrueLayer/truelayer-java/pull/149 + + + +## [2.2.0] - 2022-08-29 + +### Added +* [JSDK-80] Confirmation of Funds by @tl-andrei-sorbun in https://github.com/TrueLayer/truelayer-java/pull/144 + + + +## [2.1.1] - 2022-08-24 + +### Added +* Bump signing library by @tl-andrei-sorbun in https://github.com/TrueLayer/truelayer-java/pull/143 + + + +## [2.1.0] - 2022-08-24 + +### Added +* [Dependabot]: Bump com.diffplug.spotless from 6.9.0 to 6.9.1 by @dependabot in https://github.com/TrueLayer/truelayer-java/pull/139 +* [Dependabot]: Bump com.diffplug.spotless from 6.9.1 to 6.10.0 by @dependabot in https://github.com/TrueLayer/truelayer-java/pull/142 +* [REC-550] Update SDK with new Remitter field by @tl-andrei-sorbun in https://github.com/TrueLayer/truelayer-java/pull/141 + +## New Contributors +* @tl-andrei-sorbun made their first contribution in https://github.com/TrueLayer/truelayer-java/pull/141 + + +## [2.0.4] - 2022-08-23 + +### Added +* [PAYG-920] remove auth flow from authorizing by @tl-facundo-aita in https://github.com/TrueLayer/truelayer-java/pull/133 + + + +## [2.0.3] - 2022-08-04 + +### Added +* [Dependabot]: Bump com.diffplug.spotless from 6.5.2 to 6.9.0 by @dependabot in https://github.com/TrueLayer/truelayer-java/pull/134 +* [Dependabot]: Bump jackson-databind from 2.13.2.2 to 2.13.3 by @dependabot in https://github.com/TrueLayer/truelayer-java/pull/117 +* [Dependabot]: Bump junit-jupiter from 5.8.2 to 5.9.0 by @dependabot in https://github.com/TrueLayer/truelayer-java/pull/138 +* [Dependabot]: Bump truelayer-signing from 0.2.0 to 0.2.1 by @dependabot in https://github.com/TrueLayer/truelayer-java/pull/128 +* [Dependabot]: Bump commons-configuration2 from 2.7 to 2.8.0 by @dependabot in https://github.com/TrueLayer/truelayer-java/pull/129 +* [Dependabot]: Bump io.freefair.lombok from 6.4.3 to 6.5.0.3 by @dependabot in https://github.com/TrueLayer/truelayer-java/pull/130 +* [REC-567] `provider_selection` object on mandate detail DTO by @dili91 in https://github.com/TrueLayer/truelayer-java/pull/137 + + + +## [2.0.2] - 2022-08-03 + +### Added +* [JSDK-82] Javadoc simplification by @dili91 in https://github.com/TrueLayer/truelayer-java/pull/131 +* [JSDK-83] Sample app documentation improvement by @dili91 in https://github.com/TrueLayer/truelayer-java/pull/135 +* [JSDK-64] `metadata` object on payments and mandates DTOs by @dili91 in https://github.com/TrueLayer/truelayer-java/pull/136 + + + +## [2.0.1] - 2022-07-18 + +### Added +* [JSDK-77] Client builder refactor for testability by @dili91 in https://github.com/TrueLayer/truelayer-java/pull/125 + + + +## [2.0.0] - 2022-06-21 + +### Added + +### New features +- Onboards Recurring payments functionalities as per our public docs. +- Adds support for settlement_risk in GET payment by id responses + +### Breaking changes +- `PaymentAuthorizationFlowResponse` renamed to `AuthorizationFlowResponse`, used in both payments and mandates +- Removed `metadata` in `AuthorizationFlowResponse` of type `redirect` +- renamed package for `Provider` class and `providerId` field renamed to `id` in ProviderSelction in authorization flow responses +- `getTransactions` method and `GetTransactionsResponse` renamed to `listTransactions` and `ListTransactionsResonse` respectively. method params simplified with the help of new `ListTransactionsQuery` type +- `getPaymentSources` and `ListPaymentSourcesResponse` renamed to `listPaymentSources` and `ListPaymentSourcesResponse` respectively. method params simplified with the help of new `ListPaymentSourcesQuery` type +- Java 8 `ZonedDateTime` to `replace java.util.Date` + +## New Contributors +* @nico-incubiq made their first contribution in https://github.com/TrueLayer/truelayer-java/pull/121 + + +## [1.1.0] - 2022-05-09 + +### Added +* [JSDK-74] Improved configurability: call timeout, connection pool and request dispatcher by @dili91 in https://github.com/TrueLayer/truelayer-java/pull/115 + + + +## [1.0.0] - 2022-04-13 + +### Added +* [JSDK-60] Support for provider return params by @tl-andrea-dilisio in https://github.com/TrueLayer/truelayer-java/pull/96 + + + +## [0.7.5] - 2022-04-06 + +### Added +* [JSDK-66] Bugfix serialization issue by @tl-andrea-dilisio in https://github.com/TrueLayer/truelayer-java/pull/103 + + + +## [0.7.4] - 2022-04-05 + +### Added +* [JSDK-63] response DTOs usability improvements by @tl-andrea-dilisio in https://github.com/TrueLayer/truelayer-java/pull/100 + + + +## [0.7.3] - 2022-04-05 + +### Added +* Dependabot and CVE-2020-36518 resolution by @dili91 in https://github.com/TrueLayer/truelayer-java/pull/101 + +## New Contributors +* @dili91 made their first contribution in https://github.com/TrueLayer/truelayer-java/pull/101 + + +## [0.7.2] - 2022-04-01 + +### Added +* [JSDK-62] Provider id and scheme id added in GET payment response by @tl-andrea-dilisio in https://github.com/TrueLayer/truelayer-java/pull/99 + + + +## [0.7.1] - 2022-04-01 + +### Added +* [JSDK-61] Adds support for unknown properties on response DTOs by @tl-andrea-dilisio in https://github.com/TrueLayer/truelayer-java/pull/98 + + + +## [0.7.0] - 2022-03-18 + +### Added +* [JSDK-57] Optional credentials caching + custom pluggable cache by @tl-andrea-dilisio in https://github.com/TrueLayer/truelayer-java/pull/94 + + + +## [0.6.0] - 2022-03-15 + +### Added +* [JSDK-55] Custom logging implemented by @tl-andrea-dilisio in https://github.com/TrueLayer/truelayer-java/pull/92 + + + +## [0.5.0] - 2022-03-14 + +### Added +* [JSDK-53] Contributing by @tl-andrea-dilisio in https://github.com/TrueLayer/truelayer-java/pull/88 +* [JSDK-36] Access token cache by @tl-andrea-dilisio in https://github.com/TrueLayer/truelayer-java/pull/83 + + + +## [0.4.14] - 2022-03-11 + +### Added +* [Dependabot]: Bump io.freefair.lombok from 6.2.0 to 6.4.1 by @dependabot in https://github.com/TrueLayer/truelayer-java/pull/86 + + + +## [0.4.13] - 2022-03-08 + +### Added +* [JSDK-50] Update tl signing version by @azanin in https://github.com/TrueLayer/truelayer-java/pull/82 + +## New Contributors +* @azanin made their first contribution in https://github.com/TrueLayer/truelayer-java/pull/82 + + +## [0.4.12] - 2022-03-07 + +### Added +* [JSDK-48] Javadoc and doc improvements by @tl-andrea-dilisio in https://github.com/TrueLayer/truelayer-java/pull/81 + + + +## [0.4.11] - 2022-03-04 + +### Added +* [JSDK-9] Public releases and CI changes by @tl-andrea-dilisio in https://github.com/TrueLayer/truelayer-java/pull/79 +* [JSDK-9] CI Workflow fixed by @tl-andrea-dilisio in https://github.com/TrueLayer/truelayer-java/pull/80 + + + +## [0.4.10] - 2022-03-01 + + +## [0.4.9] - 2022-03-01 + + + + + + + + + +## [0.4.7] - 2022-02-18 + + + + + + + + + + + +## [0.4.6] - 2022-02-15 + + + + + + + + + +## [0.4.4] - 2022-02-09 + + + + + + + + + + + +## [0.4.3] - 2022-02-04 + + + +## [0.4.2] - 2022-02-04 + + + +## [0.4.1] - 2022-02-03 + + + +## [0.4.0] - 2022-02-03 + + + +## [0.3.9] - 2022-02-03 + + + + + +## [0.3.8] - 2022-02-02 + + + + + +## [0.3.7] - 2022-02-01 + + + + + +## [0.3.6] - 2022-01-27 + + + +## [0.3.5] - 2022-01-26 + + + +## [0.3.4] - 2022-01-25 + + + +## [0.3.3] - 2022-01-25 + + + + + + + + + + + + + + + +## [0.3.1] - 2022-01-24 + + + + + + + + + + + +## [0.3.0] - 2022-01-21 + + + + + + + + + + + + + + + + + + + +## [0.1.7] - 2022-01-18 + + + +## [0.1.6] - 2022-01-18 + + + +## [0.1.5] - 2022-01-18 + + + +## [0.1.4] - 2022-01-17 + + + + + + + + + + + +## [0.1.1] - 2022-01-17 + + + + + + + + + +## [0.1.0] - 2022-01-12 + + + + + +## [0.0.7] - 2022-01-11 + + + + + +## [0.0.5] - 2022-01-10 + + + +## [0.0.4] - 2022-01-10 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +## [0.0.1] - 2022-01-04 + + + diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index a77f3b55..0438762c 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -23,7 +23,8 @@ In order to submit changes to the TrueLayer Java project the following steps are 1. Fork the repo and create your branch from `main`. 2. Make sure to add proper tests in case of code changes. 3. Make sure to update the documentation in case of API changes. -4. Once [code linting](https://github.com/TrueLayer/truelayer-java#code-linting) and tests passes, you can raise a pull request. +4. Make sure the project version is changed as needed, as well as the `CHANGELOG` file. +5. Once the CI pipeline passes, you can raise a pull request. ## Code of conduct Make sure you adhere to our [code of conduct](./CODE_OF_CONDUCT.md). diff --git a/build.gradle b/build.gradle index e9de11f1..a81edce1 100644 --- a/build.gradle +++ b/build.gradle @@ -7,7 +7,7 @@ plugins { // to publish packages id 'maven-publish' // code linting - id "com.diffplug.spotless" version "6.25.0" + id "com.diffplug.spotless" version "7.0.1" // test coverage id 'jacoco' id 'com.github.kt3k.coveralls' version '2.12.2' @@ -111,7 +111,7 @@ dependencies { testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter', version: '5.11.4' // Mocking libraries - testImplementation group: 'org.mockito', name: 'mockito-core', version: '5.14.2' + testImplementation group: 'org.mockito', name: 'mockito-core', version: '5.15.2' testImplementation group: 'org.wiremock', name: 'wiremock', version: '3.10.0' // Wait test utility diff --git a/examples/quarkus-mvc/.gitignore b/examples/quarkus-mvc/.gitignore index 285b6bae..ba4fbcc3 100644 --- a/examples/quarkus-mvc/.gitignore +++ b/examples/quarkus-mvc/.gitignore @@ -34,3 +34,8 @@ nb-configuration.xml # Local environment .env + +# Plugin directory +/.quarkus/cli/plugins/ +# TLS Certificates +.certs/ diff --git a/examples/quarkus-mvc/README.md b/examples/quarkus-mvc/README.md index ea0ab8d0..d1dce427 100644 --- a/examples/quarkus-mvc/README.md +++ b/examples/quarkus-mvc/README.md @@ -1,47 +1,62 @@ -# Quarkus MVC example project +# quarkus-mvc -A simple MVC project based on [Quarkus](https://quarkus.io), that comes with a UI to send donations and setup payment mandates -via TrueLayer Payments API. +This project uses Quarkus, the Supersonic Subatomic Java Framework. -![home](./home.png) +If you want to learn more about Quarkus, please visit its website: . +## Running the application in dev mode -## Requirements +You can run your application in dev mode that enables live coding using: -To run the project it is enough to have Java 11 installed with with `JAVA_HOME` environment variable configured appropriately; +```shell script +./gradlew quarkusDev +``` -## Configuration +> **_NOTE:_** Quarkus now ships with a Dev UI, which is available in dev mode only at . -This sample project leverages [Quarkus configuration framework](https://quarkus.io/guides/config) to specify the client -credentials and signing options required to initialise the TrueLayer client. +## Packaging and running the application -In this sample application the client is configured for TrueLayer Sandbox environment. Make sure that you're -using a proper set of Sandbox credentials or switch to your desired environment in [`TrueLayerClientProvider.java`](./src/main/java/com/truelayer/quarkusmvc/TrueLayerClientProvider.java#L33) class. +The application can be packaged using: -The easiest way to setup the project with your credentials is to fill the [application.properties](./src/main/resources/application.properties) file or -set the following environment variables: -- `TL_CLIENT_ID` -- `TL_CLIENT_SECRET` -- `TL_SIGNING_KEY_ID` -- `TL_SIGNING_PRIVATE_KEY_LOCATION` -In addition, make sure to properly configure the redirect URI in the [DonationService.createDonationLink()](./src/main/java/com/truelayer/quarkusmvc/services/DonationService.java#L71) method, so that the value is one of the redirect URIs set as allowed in your Console Application: -```java -return tlClient.hpp().getHostedPaymentPageLink(paymentResponse.getData().getId(), paymentResponse.getData().getResourceToken(), - URI.create("")); +```shell script +./gradlew build ``` -Make sure to whitelist the `` value in your TrueLayer console. +It produces the `quarkus-run.jar` file in the `build/quarkus-app/` directory. +Be aware that it’s not an _über-jar_ as the dependencies are copied into the `build/quarkus-app/lib/` directory. -## Running the application +The application is now runnable using `java -jar build/quarkus-app/quarkus-run.jar`. -To run the application, simply execute the following gradle task from the root directory of this sample project: +If you want to build an _über-jar_, execute the following command: -```shell -./gradlew quarkusDev +```shell script +./gradlew build -Dquarkus.package.jar.type=uber-jar +``` + +The application, packaged as an _über-jar_, is now runnable using `java -jar build/*-runner.jar`. + +## Creating a native executable + +You can create a native executable using: + +```shell script +./gradlew build -Dquarkus.native.enabled=true +``` + +Or, if you don't have GraalVM installed, you can run the native executable build in a container using: + +```shell script +./gradlew build -Dquarkus.native.enabled=true -Dquarkus.native.container-build=true ``` -Alternatively, you can load the project in your favorite IDE and rely on IDE plugins to boot the application. +You can then execute your native executable with: `./build/quarkus-mvc-1.0.0-SNAPSHOT-runner` + +If you want to learn more about building native executables, please consult . + +## Provided Code + +### REST -## Testing the application +Easily start your REST Web Services -Browse to http://localhost:8080/donations or http://localhost:8080/subscriptions \ No newline at end of file +[Related guide section...](https://quarkus.io/guides/getting-started-reactive#reactive-jax-rs-resources) diff --git a/examples/quarkus-mvc/build.gradle b/examples/quarkus-mvc/build.gradle index 391e257d..0d5043f7 100644 --- a/examples/quarkus-mvc/build.gradle +++ b/examples/quarkus-mvc/build.gradle @@ -1,7 +1,8 @@ plugins { id 'java' id 'io.quarkus' - id "io.freefair.lombok" version "6.6" + id 'io.freefair.lombok' version '8.11' + id "com.diffplug.spotless" version "7.0.1" } repositories { @@ -10,14 +11,17 @@ repositories { } dependencies { - implementation 'io.quarkus:quarkus-resteasy-jackson' implementation enforcedPlatform("${quarkusPlatformGroupId}:${quarkusPlatformArtifactId}:${quarkusPlatformVersion}") implementation 'io.quarkus:quarkus-arc' implementation 'io.quarkus:quarkus-qute' implementation 'io.quarkus:quarkus-resteasy-qute' + implementation 'io.quarkus:quarkus-opentelemetry' - // TL Java BE library - implementation 'com.truelayer:truelayer-java:4.0.0' + // Reference to the library version that's local to this project! + // Check out the main README for instructions on how to install + // the library in your project! + // https://github.com/TrueLayer/truelayer-java?tab=readme-ov-file#stable-releases + implementation 'com.truelayer:truelayer-java' testImplementation 'io.quarkus:quarkus-junit5' testImplementation 'io.rest-assured:rest-assured' @@ -27,10 +31,20 @@ group 'com.truelayer' version '1.0.0-SNAPSHOT' java { - sourceCompatibility = JavaVersion.VERSION_11 - targetCompatibility = JavaVersion.VERSION_11 + sourceCompatibility = JavaVersion.VERSION_21 + targetCompatibility = JavaVersion.VERSION_21 } +spotless { + java { + palantirJavaFormat() + } +} + + +test { + systemProperty "java.util.logging.manager", "org.jboss.logmanager.LogManager" +} compileJava { options.encoding = 'UTF-8' options.compilerArgs << '-parameters' diff --git a/examples/quarkus-mvc/gradle.properties b/examples/quarkus-mvc/gradle.properties index 3e6fe4e6..b9e76b76 100644 --- a/examples/quarkus-mvc/gradle.properties +++ b/examples/quarkus-mvc/gradle.properties @@ -1,7 +1,7 @@ -#Gradle properties -#Thu Jan 20 18:17:05 CET 2022 -quarkusPluginVersion=2.6.3.Final -quarkusPlatformArtifactId=quarkus-bom +# Gradle properties + quarkusPluginId=io.quarkus +quarkusPluginVersion=3.17.5 quarkusPlatformGroupId=io.quarkus.platform -quarkusPlatformVersion=2.6.3.Final +quarkusPlatformArtifactId=quarkus-bom +quarkusPlatformVersion=3.17.5 diff --git a/examples/quarkus-mvc/gradle/wrapper/gradle-wrapper.jar b/examples/quarkus-mvc/gradle/wrapper/gradle-wrapper.jar index 7454180f2ae8848c63b8b4dea2cb829da983f2fa..a4b76b9530d66f5e68d973ea569d8e19de379189 100644 GIT binary patch literal 43583 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 yu?e%!_ptzGB|8GrCfu%p?(_ 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 GZ~q4|mN%#X literal 59536 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 QuEJmfE|#`Dqx|px0L@K;Y5)KL diff --git a/examples/quarkus-mvc/gradle/wrapper/gradle-wrapper.properties b/examples/quarkus-mvc/gradle/wrapper/gradle-wrapper.properties index 070cb702..df97d72b 100644 --- a/examples/quarkus-mvc/gradle/wrapper/gradle-wrapper.properties +++ b/examples/quarkus-mvc/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,7 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.6-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-bin.zip +networkTimeout=10000 +validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/examples/quarkus-mvc/gradlew b/examples/quarkus-mvc/gradlew index 1b6c7873..f5feea6d 100755 --- a/examples/quarkus-mvc/gradlew +++ b/examples/quarkus-mvc/gradlew @@ -15,6 +15,8 @@ # See the License for the specific language governing permissions and # limitations under the License. # +# SPDX-License-Identifier: Apache-2.0 +# ############################################################################## # @@ -55,7 +57,7 @@ # Darwin, MinGW, and NonStop. # # (3) This script is generated from the Groovy template -# https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt # within the Gradle project. # # You can find Gradle at https://github.com/gradle/gradle/. @@ -80,13 +82,12 @@ do esac done -APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit - -APP_NAME="Gradle" +# This is normally unused +# shellcheck disable=SC2034 APP_BASE_NAME=${0##*/} - -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' +# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) +APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s +' "$PWD" ) || exit # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD=maximum @@ -133,22 +134,29 @@ location of your Java installation." fi else JAVACMD=java - which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + if ! command -v java >/dev/null 2>&1 + then + die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. Please set the JAVA_HOME variable in your environment to match the location of your Java installation." + fi fi # Increase the maximum file descriptors if we can. if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then case $MAX_FD in #( max*) + # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC2039,SC3045 MAX_FD=$( ulimit -H -n ) || warn "Could not query maximum file descriptor limit" esac case $MAX_FD in #( '' | soft) :;; #( *) + # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC2039,SC3045 ulimit -n "$MAX_FD" || warn "Could not set maximum file descriptor limit to $MAX_FD" esac @@ -193,11 +201,15 @@ if "$cygwin" || "$msys" ; then done fi -# Collect all arguments for the java command; -# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of -# shell script including quotes and variable substitutions, so put them in -# double quotes to make sure that they get re-expanded; and -# * put everything else in single quotes, so that it's not re-expanded. + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Collect all arguments for the java command: +# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments, +# and any embedded shellness will be escaped. +# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be +# treated as '${Hostname}' itself on the command line. set -- \ "-Dorg.gradle.appname=$APP_BASE_NAME" \ @@ -205,6 +217,12 @@ set -- \ org.gradle.wrapper.GradleWrapperMain \ "$@" +# Stop when "xargs" is not available. +if ! command -v xargs >/dev/null 2>&1 +then + die "xargs is not available" +fi + # Use "xargs" to parse quoted args. # # With -n1 it outputs one arg per line, with the quotes and backslashes removed. diff --git a/examples/quarkus-mvc/gradlew.bat b/examples/quarkus-mvc/gradlew.bat index 107acd32..9d21a218 100644 --- a/examples/quarkus-mvc/gradlew.bat +++ b/examples/quarkus-mvc/gradlew.bat @@ -13,8 +13,10 @@ @rem See the License for the specific language governing permissions and @rem limitations under the License. @rem +@rem SPDX-License-Identifier: Apache-2.0 +@rem -@if "%DEBUG%" == "" @echo off +@if "%DEBUG%"=="" @echo off @rem ########################################################################## @rem @rem Gradle startup script for Windows @@ -25,7 +27,8 @@ if "%OS%"=="Windows_NT" setlocal set DIRNAME=%~dp0 -if "%DIRNAME%" == "" set DIRNAME=. +if "%DIRNAME%"=="" set DIRNAME=. +@rem This is normally unused set APP_BASE_NAME=%~n0 set APP_HOME=%DIRNAME% @@ -40,13 +43,13 @@ if defined JAVA_HOME goto findJavaFromJavaHome set JAVA_EXE=java.exe %JAVA_EXE% -version >NUL 2>&1 -if "%ERRORLEVEL%" == "0" goto execute +if %ERRORLEVEL% equ 0 goto execute -echo. -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. +echo. 1>&2 +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2 +echo. 1>&2 +echo Please set the JAVA_HOME variable in your environment to match the 1>&2 +echo location of your Java installation. 1>&2 goto fail @@ -56,11 +59,11 @@ set JAVA_EXE=%JAVA_HOME%/bin/java.exe if exist "%JAVA_EXE%" goto execute -echo. -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. +echo. 1>&2 +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2 +echo. 1>&2 +echo Please set the JAVA_HOME variable in your environment to match the 1>&2 +echo location of your Java installation. 1>&2 goto fail @@ -75,13 +78,15 @@ set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar :end @rem End local scope for the variables with windows NT shell -if "%ERRORLEVEL%"=="0" goto mainEnd +if %ERRORLEVEL% equ 0 goto mainEnd :fail rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of rem the _cmd.exe /c_ return code! -if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 -exit /b 1 +set EXIT_CODE=%ERRORLEVEL% +if %EXIT_CODE% equ 0 set EXIT_CODE=1 +if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% +exit /b %EXIT_CODE% :mainEnd if "%OS%"=="Windows_NT" endlocal diff --git a/examples/quarkus-mvc/home.png b/examples/quarkus-mvc/home.png deleted file mode 100644 index 09c5ae249288f044e6c2e23c1dfee71322e863f0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 139031 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

l{|9q$E6<=!pAxGdyMZlYrL!fG%0u!;@f!+ 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 startAuthorizationFlowResponse = trueLayerClient.mandates() + ApiResponse startAuthorizationFlowResponse = trueLayerClient + .mandates() .startAuthorizationFlow(mandate.getData().getId(), startAuthorizationFlowRequest) .get(); - if(startAuthorizationFlowResponse.isError()){ - throw new RuntimeException(String.format("start auth flow error: %s", - startAuthorizationFlowResponse.getError())); + if (startAuthorizationFlowResponse.isError()) { + throw new RuntimeException( + String.format("start auth flow error: %s", startAuthorizationFlowResponse.getError())); } - if(startAuthorizationFlowResponse.getData().isAuthorizationFailed()){ - throw new RuntimeException(String.format("start auth flow failed: %s", - startAuthorizationFlowResponse.getData().asAuthorizationFailed().getFailureReason())); + if (startAuthorizationFlowResponse.getData().isAuthorizationFailed()) { + throw new RuntimeException(String.format( + "start auth flow failed: %s", + startAuthorizationFlowResponse + .getData() + .asAuthorizationFailed() + .getFailureReason())); } - return startAuthorizationFlowResponse.getData() + return startAuthorizationFlowResponse + .getData() .asAuthorizing() .getAuthorizationFlow() - .getActions().getNext().asRedirect().getUri(); + .getActions() + .getNext() + .asRedirect() + .getUri(); } @SneakyThrows @Override public SubscriptionResult getSubscriptionById(String id) { - ApiResponse getMandateById = trueLayerClient.mandates().getMandate(id).get(); + ApiResponse getMandateById = + trueLayerClient.mandates().getMandate(id).get(); return SubscriptionResult.builder() .status(getMandateById.getData().getStatus().getStatus()) diff --git a/examples/quarkus-mvc/src/main/resources/application.properties b/examples/quarkus-mvc/src/main/resources/application.properties index e2f1d8e1..dc27bc33 100644 --- a/examples/quarkus-mvc/src/main/resources/application.properties +++ b/examples/quarkus-mvc/src/main/resources/application.properties @@ -4,3 +4,9 @@ tl.client.id=to-set tl.client.secret=to-set tl.signing.key_id=to-set tl.signing.private_key_location=to-set + +quarkus.otel.trace.enabled=true +quarkus.otel.metrics.enabled=true +quarkus.otel.logs.enabled=true +quarkus.application.name=quarkus-mvc +quarkus.otel.exporter.otlp.endpoint=http://localhost:4317 \ No newline at end of file diff --git a/examples/quarkus-mvc/src/native-test/java/com/truelayer/quarkusmvc/NativeDonateControllerIT.java b/examples/quarkus-mvc/src/native-test/java/com/truelayer/quarkusmvc/NativeDonateControllerIT.java deleted file mode 100644 index dee189a3..00000000 --- a/examples/quarkus-mvc/src/native-test/java/com/truelayer/quarkusmvc/NativeDonateControllerIT.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.truelayer.quarkusmvc; - -import io.quarkus.test.junit.NativeImageTest; - -@NativeImageTest -public class NativeDonateControllerIT extends DonateControllerTest { - // Execute the same tests but in native mode. -} \ No newline at end of file diff --git a/examples/quarkus-mvc/src/native-test/java/com/truelayer/quarkusmvc/NativeDonateControllerTest.java b/examples/quarkus-mvc/src/native-test/java/com/truelayer/quarkusmvc/NativeDonateControllerTest.java new file mode 100644 index 00000000..2ff9af4f --- /dev/null +++ b/examples/quarkus-mvc/src/native-test/java/com/truelayer/quarkusmvc/NativeDonateControllerTest.java @@ -0,0 +1,8 @@ +package com.truelayer.quarkusmvc; + +import io.quarkus.test.junit.QuarkusIntegrationTest; + +@QuarkusIntegrationTest +class NativeDonateControllerTest extends DonateControllerTest { + // Execute the same tests but in packaged mode. +} diff --git a/examples/quarkus-mvc/src/test/java/com/truelayer/quarkusmvc/DonateControllerTest.java b/examples/quarkus-mvc/src/test/java/com/truelayer/quarkusmvc/DonateControllerTest.java index 1774f623..efbcbc8a 100644 --- a/examples/quarkus-mvc/src/test/java/com/truelayer/quarkusmvc/DonateControllerTest.java +++ b/examples/quarkus-mvc/src/test/java/com/truelayer/quarkusmvc/DonateControllerTest.java @@ -1,13 +1,14 @@ package com.truelayer.quarkusmvc; +import static io.restassured.RestAssured.given; + import io.quarkus.test.junit.QuarkusTest; -import io.restassured.http.ContentType; import org.junit.jupiter.api.Test; -import static io.restassured.RestAssured.given; -import static org.hamcrest.CoreMatchers.is; - @QuarkusTest -public class DonateControllerTest { - // todo -} \ No newline at end of file +class DonateControllerTest { + @Test + void testDonateEndpoint() { + given().when().get("/donations").then().statusCode(200); + } +} diff --git a/gradle.properties b/gradle.properties index 7a39c856..f317110b 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,7 +1,7 @@ # Main properties group=com.truelayer archivesBaseName=truelayer-java -version=16.3.0 +version=16.3.1 # Artifacts properties sonatype_repository_url=https://s01.oss.sonatype.org/service/local/