AU Data Holder Testing
Table of Contents
This Wych Data Holder Tester (Tester) is the Wych probe for validating the state of a Data Holder solution, this has been designed to support Data Holder testing for ACCC CDR standards with each test verifying a rule as set out in the specifications.
Tester can share a Register and Register Auth instance but has a one-to-one relationship with a Data Holder. The Tester must co-exist with the register as it is responsible for configuring the register and validating the Data Holder to register communications. To accomplish this Tester must have access to the Register and the Registers datastore.
Requirements #
Tester requires a PostgreSQL 14+ relational database. Tester can utilise the same PostgreSQL service as the other non-production service but requires two separate schemas. The schema can be set in the search path to faciliate easy of connection.
The PostgreSQL jdbc syntax is:
jdbc:postgresql://[host]:[port]/[db-name]?currentSchema=[db-schema]
This can be organised as a database per app or a schema per database.
jdbc:postgresql://localhost:5432/testing?currentSchema=au-dataholder-tester
jdbc:postgresql://localhost:5432/au-dataholder-tester?currentSchema=public
Repository #
Tester can be pulled from the following repository. Check Changelog for the latest version.
docker pull wychaustralia.azurecr.io/au-dataholder-tester:[version]
Docker #
For the Tester to start you will need to set the following properties. If you are setting these as environment variables then use the UPPERCASE and replace . (dot) with _ (underscore).
Config #
Key | Description |
---|---|
WYCH_BASE_URL | The URL of this application, a self reference e.g. https://tester.host.tld |
WYCH_REGISTER_URL | The URL of the register application e.g. https://register.host.tld |
WYCH_REGISTER_AUTH_URL | The URL of register auth application e.g. https://auth.host.tld |
DATAHOLDER_RESOURCE_ENDPOINT | The resource endpoint of the Data Holder |
DATAHOLDER_INFOSEC_ENDPOINT | The infosec endpoint of the Data Holder |
DATAHOLDER_ADMIN_ENDPOINT | The admin endpoint of the Data Holder |
DATAHOLDER_PUBLIC_ENDPOINT | The public endpoint of the Data Holder |
WYCH_DATASOURCE_JDBC_URL | The database JDBC URL in the form jdbc:postgresql://{{host}}}:{{port}}}/{{db_name}}} |
WYCH_DATASOURCE_USERNAME | The database users name |
WYCH_DATASOURCE_PASSWORD | The database users password |
Option config | |
WYCH_DATASOURCE_TESTER_JDBC_URL | The database JDBC URL in the form jdbc:postgresql://{{host}}}:{{port}}}/{{db_name}}} |
WYCH_DATASOURCE_TESTER_USERNAME | The database users name |
WYCH_DATASOURCE_TESTER_PASSWORD | The database users password |
WYCH_DATASOURCE_RECIPIENT_JDBC_URL | The database JDBC URL in the form jdbc:postgresql://{{host}}}:{{port}}}/{{db_name}}} |
WYCH_DATASOURCE_RECIPIENT_USERNAME | The database users name |
WYCH_DATASOURCE_RECIPIENT_PASSWORD | The database users password |
WYCH_DATASOURCE_REGISTER_JDBC_URL | The database JDBC URL in the form jdbc:postgresql://{{host}}}:{{port}}}/{{db_name}}} |
WYCH_DATASOURCE_REGISTER_USERNAME | The database users name |
WYCH_DATASOURCE_REGISTER_PASSWORD | The database users password |
VERIFY_SSL_CERT | Set to false to disable TLS certificate validation. This is useful when using self-signed certificates. |
Compose #
Here is a sample docker compose - this sets up the required DB and configures the Tester service.
|
|
Changelog #
tag | changelog | digest |
---|---|---|
2.19.0 | Further simplifying valdation results name format to ease identification of non-compliant element | 272f3b |
2.18.0 | Resource tests x-fapi-auth-date format test fix | 4c1d38 |
2.17.0 | Enabling list executions in self-hosted version | 9f59d5 |
2.16.0 | Fixed hosted app id bug | 7469ea |
2.15.0 | Updating mandatory field names to simplify validation descriptions | dee86f |
2.14.0 | Adding support for logging exception data | 3abd29 |
2.13.0 | Fixing x-min-v test scenario’s failure case | 7e36b4 |
2.12.0 | Improving ids for validations of Product endpoint to accommodate large failure lists | 3dbfa0 |
2.11.0 | Reducing the logging level captured for long failure lists | 43eb51 |
2.10.0 | Improving validation messaging based on customer feedback | 065f36 |
2.9.0 | Enabling filter of executes based on APP id | abbd24 |
2.8.0 | Supporting trust-stores on unauthenticated endpoints for local hosted version | 9e8394 |
2.7.0 | Capturing execution endtime as part of exection record | 468ae8 |
2.6.0 | Enabling call hierarchy capturing to support Data Holder failure diagnosis | 6c82a6 |
2.5.0 | Enabling local hosted version to run without need for register | a8ebf0 |
2.4.0 | Exposing start/end and type on execution records | db4550 |
2.3.0 | Enabling authorization endpoint to run without need for register | 072f9f |
— | — | — |
1.59.0 | introducing new config value verify.ssl.cert which defaults to true . This can be set to false to support self-signed certificates. |
775431 |
1.58.0 | Client requested config change | b46470 |
1.57.0 | Reducing minimum config requirements | d0c4e8 |
1.56.0 | Reducing minimum config requirements | 398d39 |
1.55.0 | {{< alert >}} requires au-register >=1.5.0 {{< /alert >}} Bugfix issues caused by compatibility mode | 1abf87 |
1.54.0 | Moving native image to compatibility mode for x86, x64 and ARM architectures | 787aec |
1.53.0 | Maintenance release, patching dependencies | e2b818 |
1.52.0 | Added new History results endpoint | d41272 |
1.51.0 | Added ability to refresh an existing arrangements | 5d0fe7 |
1.50.0 | Improved results reporting, including persisting Number of Tests completed | 49b2fe |
1.49.0 | Added spec references to test results | 5ebdc0 |
1.48.0 | Increases test coverage and Error response management | b7c895 |
1.47.0 | Bugfix fixed tests resulting in duplicate rows | 005118 |
1.46.0 | Bugfix field type | 057587 |
1.45.0 | Added ability to run single/specific validator | 07f030 |
1.44.0 | Added new Validator endpoint | e323af |
1.43.0 | Bugfix on listings fields | 2f74ad |
1.42.0 | Added Customer Mandatory field checks | 5c250c |
1.41.0 | Added test counter to field checks | 680e46 |
1.40.0 | Added metrics validation, fixed missing tls for customer calls | 067b86 |
1.39.0 | Added Balances for Specific Account Mandatory field checks | 95389f |
1.38.0 | Added Specific Direct Debits Mandatory Field Checks | d23e2c |
1.37.0 | Added Specific Scheduled Payments Mandatory Field Checks | 66caf2 |
1.36.0 | Added Payee Detail Mandatory Field Checks | ae7226 |
1.35.0 | Added Bulk Direct Debits Mandatory field checks | b506f1 |
1.34.0 | Added mandatory field test to bulk balances endpoint | 0237ba |
1.33.0 | Added Transactions for Account Mandatory Field Checks | f4e450 |
1.32.0 | Added mandatory field checks for specific balances endpoint | e175c1 |
1.31.0 | Added Bulk Scheduled Payments mandatory field checks | d3082e |
1.30.0 | Added Product Detail Mandatory Field Checks | 55b709 |
1.29.0 | Added metadata tests Added ssl feature flag |
5cd12c |
1.28.0 | Improved conditional property checks | 50040b |
1.27.0 | Increasing code covered | 4f938f |
1.26.0 | Added scheduled payments tests Fixed MaskedPanString test Added scheduled payments mandatory field checks |
108900 |
1.25.0 | Updated to CDR spec 1.29.1 | 04af6f |
1.24.0 | Remove code duplication Improve model of specification Cover all fields of the tested responses |
43ece4 |
1.23.0 | Added Payee mandatory field checks Added direct debit mandatory field checks |
01e4c8 |
1.22.0 | Added Product endpoint Mandatory Field Check Modify Addtional Info URI Validation |
539c1d |
1.21.0 | Added Payee endpoint mandatory field check Mandatory fields are returned Get Payees |
646be8 |
1.20.0 | Account balance tests Account balance mandatory fields test Account blance optional parameter tests |
7ef130 |
1.19.0 | Supporting service unavailability Changed iso date format to match RFC3339 |
11c0ee |
1.18.0 | Added secured endpoint to dataholder tester | cb719f |
1.17.0 | Added TransactionDetails Mandatory field validation | 13a53a |
1.16.0 | Handle register not available Added AccountDetails Mandatory Checks Refactor to return multiple validation failures |
9b6f1c |
1.15.0 | Store response entity only if entity exists | 2aa664 |
1.14.0 | Fixing response body storage error | 75ecdf |
1.13.0 | Fixing native image generation | 1ef05b |
1.12.0 | Adding account mandatory fields Added BankAccountDetails Mandatory Field Checks Introducing null checks |
908514 |
1.11.0 | Adding basic data cache and retrieval | ea4eba |
1.10.0 | Enabling vulnerability analysis | e150a0 |
1.9.0 | Reducing required properties | 2b5061 |
1.8.0 | Adding PAR validation error cases | f8f302 |
1.7.0 | Adding DCR error cases | 27bf88 |
1.6.0 | Improving readability with testcase and test suite ids | 340237 |
1.5.0 | Removing the need for Queues | 929bf2 |