Skip to content

The OpenAPI specification for Finicity APIs (🇺🇸), along with a suite of tests using a generated API client and the Finicity Test Drive.

License

Notifications You must be signed in to change notification settings

Natchaphonwongplianphan/finicity-openapi

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

finicity-openapi

Overview

The OpenAPI specification for Finicity APIs (🇺🇸), along with a suite of tests using a generated API client and the Finicity Test Drive.

Workflows

The following workflows ensure the API specification stays in good shape and can be used to consume the Finicity APIs from your application:

Specification

YAML ⤓ | Swagger Editor ⬈ | Redoc ⬈

Tests

Things to Know 👇

  • The test project generates an API client library from the API specification like you would do in a real application (OpenAPI Generator is used for that)
  • A free Open Banking account is required to obtain your Partner ID, Partner Secret and App Key:

project

  • Before running the tests, you need a Customer ID. For that, follow Welcome Your First Customer or run the setup script. This script will call:
    • addTestingCustomer
    • generateConnectUrl (Finicity Connect). Simply open the URL, search for "FinBank Profiles - A" and add to your test customer all accounts from profile_03.
    • refreshCustomerAccounts

Run Tests Locally

  1. Clone this repository
  2. Run cd tests && mvn clean test -DpartnerId=*** -DpartnerSecret=*** -DappKey=*** -DcustomerId=***

Run Tests in GitHub

  1. Fork this repository
  2. Go to Settings > Secrets > Actions
  3. Create new repository secrets: PARTNER_ID, PARTNER_SECRET, APP_KEY and CUSTOMER_ID
  4. Enable workflows in the Actions tab
  5. Click Run workflow under API Client Tests. Expected result: ✔️

What's Next?

The Finicity API specification and a generated API client are the only things you need to call Finicity from your application.

Guidelines

When updating the Finicity API specification:

  1. Ensure it can be rendered without errors in Swagger Editor or Redoc
  2. Ensure an API client can be generated using OpenAPI Generator
  3. Prettify the YAML using npx prettier --write --single-quote --prose-wrap always finicity.yaml
  4. Update and/or add tests to the test project
    • Generate new tests by using true for generateApiTests in the POM file
    • Move the generated classes from /target/generated-sources/openapi/src/test/ to /src
    • Update the generated test methods

About

The OpenAPI specification for Finicity APIs (🇺🇸), along with a suite of tests using a generated API client and the Finicity Test Drive.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 93.3%
  • PowerShell 3.6%
  • Shell 3.1%