Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
#Sample command without any client configuration being provided

docker run --user root --rm -it \
-v "$(pwd)/logs:/usr/o3/tr-ozone-connect/logs" \
public.ecr.aws/g5c5c6i0/tr-image/tr-ozone-connect:cbuae \
yarn tr-ozone-connect \
--formatter terse \
--loglevel-runner info \
--config /usr/o3/tr-ozone-connect/config/config.yaml \
--out /usr/o3/tr-ozone-connect/logs/<custom_log_file_name>test_logs.json

 

In order to run the tests against the LFI’s implementation of Ozone Connect the next command should be executed:

Code Block
#Sample command WITH the client configuration being provided

docker run --user root --rm -it \
-v "$(pwd)/config:/usr/o3/tr-ozone-connect/config" \
-v "$(pwd)/logs:/usr/o3/tr-ozone-connect/logs" \
public.ecr.aws/g5c5c6i0/tr-image/tr-ozone-connect:cbuae \
yarn tr-ozone-connect \
--formatter terse \
--loglevel-runner info \
--config /usr/o3/tr-ozone-connect/config/config.yaml \
--out /usr/o3/tr-ozone-connect/logs/<custom_log_file_name>test_logs.json

 

In order to run the above command against LFI’s implementation of Ozone Connect, the LFI needs to:

...

  1. Running the Docker Container: The first part runs the Testing Tool Docker container, mounting the necessary directories and setting up the environment:

Option

Description

-v "$(pwd)/config:/usr/o3/tr-ozone-connect/config"

If the LFI configuration is not provided, the tool will attempt to connect to a the Ozone Connect mock server deployed by Ozone in the cloud. For detailed information on the configuration file format, please refer to the configuration file section: https://openfinanceuae.atlassian.net/wiki/spaces/APIHubDocsv4/pages/168265011/Testing+Tool+User+Guide#6.2-Configuration-File

SSL certificates are necessary for secure mTLS connection between the Testing Tool and LFI’s implementation of Ozone Connect. The method to generate these certificates is documented in the Certificates Generation section: https://openfinanceuae.atlassian.net/wiki/spaces/APIHubDocsv4/pages/168265011/Testing+Tool+User+Guide#6.3-Test-Certificates

After generating the certificates, copy them into a folder named config/certs on the host machine from where the test command will be executed. These copied files are then passed to the Docker container using the configuration options mentioned earlier.

-v "$(pwd)/logs:/usr/o3/tr-ozone-connect/logs"

This option is mandatory and needs to be passed to check the logs after the program has run. The logs will be available in this folder after the tests are run.

  1. Acquiring the latest docker image:

Option

Description

public.ecr.aws/g5c5c6i0/tr-image/tr-ozone-connect:cbuae \

This is the location of the publicly available Test Tool Docker image.

  1. Executing the Ozone Testing Tool: This 3rd part executes the Ozone Testing Tool within the container with a set of specified options:

    Code Block
    yarn tr-ozone-connect \
    --formatter terse \
    --loglevel-runner info \
    --config /usr/o3/tr-ozone-connect/config/config.yaml \
    --out /usr/o3/tr-ozone-connect/logs/test_logs_5Aug.json

Option

Description

Possible Values

-h, --help

Show help (boolean)

 

-c, --config

Input test configuration files in .yaml or .json format
(Format : string, required)

config.yaml, config.json, ./config/test-input.yaml

-f, --folder

Preconfigured path to the folders with the test files
(Format : string, required)

src/tests, tests, ./src/tests

-

r, --regex

Regex patterns to match test cases. Runs a test that matches any of the patterns
(Format : string, optional)

pattern1:regex1#pattern2:regex2

-

o, --out

Output file name
(Format : string, optional)

results.json, output.

yaml

json, ./test_output.

txt

json

-e, --formatter

Use a standard formatter for the output
(Format : string, optional)

full, terse, medium, errors

-t, --output

-

format

File output format when not using a template
(Format : string, optional)

json, yaml

-

v, --loglevel-runner

Log level for the test runner (Format : string, optional)

debug, info, silent

, debug

-l, --loglevel-suite

Log level for the test suite (Format : string, optional)

debug,

info

, conditional

--version

Show version number (boolean)

 

6.2 Configuration File

This section provides a detailed explanation of the configuration file fields used in the Testing Tool for Open Banking APIs.

...

Code Block
baseUrl: https://mock.rt-cbuae.rt.dev.ozoneapi.co.uk
psuIdentifier:
  userId: '10000100000000000000002'
aisBasePath: openbanking/v1/ais
pisBasePath: openbanking/v1/pis

accounts:
  validAccountIds: ['100004000000000000000001']

payments:
  paymentIds: ['abcdef1234567890']

headers:
  o3-ozone-interaction-id: 'e2ff21ca-dd11-4c05-98ef-403dcc8e588d'
  o3-api-operation: 'GET'
  o3-aspsp-id: 'RTCBUAE'
  o3-api-uri: 'open-banking/account-information/v1/accounts'
  o3-caller-org-id: '000015000000000000000001'
  o3-caller-client-id: '65e64982-f080-4785-a887-816f5274ea7e'
  o3-caller-software-statement-id: '000016000000000000000004'
  o3-consent-id: 'aac-6359d9-ab01458-c45a358cbf3230733'
  o3-psu-identifier: 'eyJ1c2VySWQiOiIxMDAwMDEwMDAwMDAwMDAwMDAwMDAwMDIifQ=='
  providerId: 'RTCBUAE'

supported:
  accounts:
    multi: true
    single: true

certs:
  transport:
    ca: '/usr/o3/tr-ozone-connect/config/ozone2021-ca.pem'
    certFileName: '/usr/o3/tr-ozone-connect/config/ozone-issued-transport-HQuZPIt3ipkh33Uxytox1E.pem'
    keyFileName: '/usr/o3/tr-ozone-connect/config/ozone-issued-transport-HQuZPIt3ipkh33Uxytox1E.key'

 

Configuration

Description

baseUrl

  • Description: The base URL for the API endpoints.

  • Type: String

  • Example Value: https://<Some URL>

psuIdentifier

  • userId

  • Description: The user identifier (PSU ID) used in the context of AIS.

  • Type: String

  • Example Value: '10000100000000000000002'

aisBasePath

  • Description: The base path for the Bank Data Sharing endpoints.

  • Type: String

  • Example Value: openbanking/v1/ais

pisBasePath

  • Description: The base path for the Bank Service Initiation endpoints.

  • Type: String

  • Example Value: openbanking/v1/pis

accounts

  • validAccountIds

  • Description: A list of valid account IDs used for testing account-related endpoints.

  • Type: Array

  • Example Value: ['100004000000000000000001']

payments

  • paymentIds

  • Description: A list of payment IDs used for testing payment-related endpoints.

  • Type: Array

  • Example Value: ['abcdef1234567890']

headers

  • o3-ozone-interaction-id

  • Description: A unique identifier for tracking interactions.

  • Type: String

  • Example Value: 'UUID'

headers

  • o3-api-operation

  • Description: The HTTP method used for the API operation.

  • Type: String

  • Example Value: 'GET'

headers

  • o3-aspsp-id

  • Description: The identifier of the LFI.

  • Type: String

  • Example Value: 'RTCBUAE'

headers

  • o3-api-uri

  • Description: The URI for the specific API endpoint.

  • Type: String

  • Example Value: 'open-banking/account-information/v1/accounts'

headers

  • o3-caller-org-id

  • Description: The organization ID of the API caller.

  • Type: String

  • Example Value: '000015000000000000000001'

headers

  • o3-caller-client-id

  • Description: The client ID of the API caller.

  • Type: String

  • Example Value: 'UUID'

headers

  • o3-caller-software-statement-id

  • Description: The software statement ID of the API caller.

  • Type: String

  • Example Value: '000016000000000000000004'

headers

  • o3-consent-id

  • Description: The consent ID provided by the PSU.

  • Type: String

  • Example Value: 'UUID'

headers

  • o3-psu-identifier

  • Description: The identifier for the PSU, typically a base64-encoded JSON object.

  • Type: String

  • Example Value: 'base64 encoded Json string'

headers

  • providerId

  • Description: The identifier for the service provider.

  • Type: String

  • Example Value: 'RTCBUAE'

supported

  • accounts

    • multi

  • Description: Indicates whether multiple accounts are supported.

  • Type: Boolean

  • Example Value: true

supported

  • accounts

    • single

  • Description: Indicates whether a single account is supported.

  • Type: Boolean

  • Example Value: true

certs

  • transport

    • ca

  • Description: Path to the CA certificate for transport layer security.

  • Type: String

  • Example Value: '/usr/o3/tr-ozone-connect/config/ozone2021-ca.pem'

certs

  • transport

    • certFileName

  • Description: Path to the transport layer certificate file.

  • Type: String

  • Example Value: '/usr/o3/tr-ozone-connect/config/ozone-issued-transport-HQuZPIt3ipkh33Uxytox1E.pem'

certs

  • transport

    • keyFileName

  • Description: Path to the private key file for the transport layer certificate.

  • Type: String

  • Example Value: '/usr/o3/tr-ozone-connect/config/ozone-issued-transport-HQuZPIt3ipkh33Uxytox1E.key'

6.3 Test Certificates

The certificates in the certs folder are critical for securing communications between the LFI and the OFP using mTLS.

...

Follow the instructions below to run the Testing Tool:

Step 1

Create an input test configuration file and set up it in /config folder.

Please follow the Configuration File section in order to generate the required file: https://openfinanceuae.atlassian.net/wiki/spaces/APIHubDocsv4/pages/168265011/Testing+Tool+User+Guide#6.2-Configuration-File

Step 2

Acquire/Generate the SSL certificates and put them in a /config/certs folder.

Please follow the Test Certificates section in case you need to generate test certificates: https://openfinanceuae.atlassian.net/wiki/spaces/APIHubDocsv4/pages/168265011/Testing+Tool+User+Guide#6.3-Test-Certificates

Otherwise please use OFTF Certificates.

Step 3

Execute the testing tool command.

Code Block
#Sample command WITH the client configuration being provided

docker run --user root --rm -it \
-v "$(pwd)/config:/usr/o3/tr-ozone-connect/config" \
-v "$(pwd)/logs:/usr/o3/tr-ozone-connect/logs" \
public.ecr.aws/g5c5c6i0/tr-image/tr-ozone-connect:cbuae \
yarn tr-ozone-connect \
--formatter terse \
--loglevel-runner info \
--config /usr/o3/tr-ozone-connect/config/config.yaml \
--out /usr/o3/tr-ozone-connect/logs/test_logs
_5Aug
.json

Step 4

The final section of the sample output, after all tests have been run and logs have been printed, will appear as follows.

 

Screenshot 2024-08-30 at 06.51.46.pngImage Removed
Screenshot 2024-08-30 at 06.51.46.pngImage Added

 

Step 5 (optional)

Review the Testing Tool output log file containing the test case results. The log file's name is specified in the last part of the command in step 1 above. You can change this name each time you run the command. If not changed, successive runs will overwrite the same file.

Use any text editor to view the file :
vim $(pwd)/logs/test_logs

_5Aug

.json

8. Test Cases

The list of supported test cases is available in the following document: Ozone Connect Test Cases

...