This space is deprecated and no longer supported. Please use the latest available version here.

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

 MENU

1. Purpose

The purpose of the tool is to provide implementers with a reliable and efficient test tool for ensuring conformance to the Ozone Connect implementation within the Open Finance Platform (OFP). This tool aims to simplify the testing process, ensure adherence to standards, and enhance the overall quality and interoperability of implementations.

2. Scope

This manual covers the essential aspects of Ozone Connect Testing Tool, including its installation, usage, and testing capabilities. It provides detailed instructions and guidelines to help users effectively utilise the tool within their development and testing environments. The scope includes:

Installation and setup

Provides instructions for installing and setting up Ozone Connect Testing Tool using Docker, including prerequisites and initial configuration.

Usage instructions

Details the commands and options available in the Ozone Connect Testing Tool CLI tool, with examples for effective usage.

Testing

Explains the testing procedures and conformance checks, including how to run tests and interpret the results.

3. Audience

The primary audience for this manual includes developers, QA engineers, and technical implementers who are involved in the integration and testing of the Ozone Connect implementation for the OFP.

QA engineers

Professionals responsible for ensuring the quality and reliability of the Ozone Connect implementation by conducting thorough testing and identifying defects.

Integration Specialists

Experts focused on integrating and aligning the Ozone Connect implementation with the OFP to ensure seamless interoperability and conformance.

This manual assumes that the audience has a basic understanding of CLI tools, Docker, CBUAE Open Finance standards and Ozone Connect specifications.

4. Overview

Ozone Connect Testing Tool is a command-line interface (CLI) based testing tool designed to assist implementers in verifying their conformance to the Ozone Connect implementation. Developed specifically for the OFP, Ozone Connect Testing Tool provides a comprehensive suite of tests that validate various aspects of the implementation against predefined standard. The tool runs within a Docker container, ensuring a consistent and isolated testing environment. By using the Ozone Connect Testing Tool, implementers can efficiently identify and rectify issues, ensuring that their implementations meet the required conformance criteria.

5. Setup Requirements

Before You Start:

6. Usage

The instructions below are based on using this Ozone Connect Testing Tool to test against the Ozone Connect v2024.34.00

Step 1

To execute the testing tool packaged in the Docker container, pull it from public.ecr.aws/g5c5c6i0/tr-image/tr-ozone-connect:cbuae

The container includes a configuration file with the necessary test data, base URL, and ozone transport certificate locations.

Use the provided command to start the container and run the testing tool.

The command is divided into two parts: the Docker run command with required parameters and the yarn tr-ozone-connect command to run the test framework.

docker run --user root --rm -it \
-v "$(pwd)/tr-ozone-connect/config:/usr/o3/tr-ozone-connect/config" \
-v "$(pwd)/tr-ozone-connect/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 debug \
--config /usr/o3/tr-ozone-connect/config/test-input.yaml \
--out /usr/o3/tr-ozone-connect/logs/logs.json

Step 2

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-02 at 08.32.48.png

Step 3 (optional)

Review the Ozone Connect 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 /usr/o3/tr-ozone-connect/logs/logs.json

7. Test Cases

Following test scenarios have been implemented to check the below:

  • Response code validations.

  • Response schema validations.

  • Response data validations.

The tests below are a subset of a broader range of tests. New tests will be introduced gradually as the Ozone Connect Testing Tool is updated and new versions of CBUAE Open Finance Standards are released.

7.1 Bank Data

GET /accounts

Scenario

Response

Expected outcome

Valid accountIds are included as a query parameter, each with distinct SubTypes like CurrentAccount, Savings, and CreditCard for a retail user in Active status

200 

Returns a 200 if all headers are valid and returns a record for each specified accountId including CurrentAccount, Savings, and CreditCard for a retail user with status 'Active' and validate correct accountType and accountSubType fields are populated for each accountId

No accounts found

200 with an empty array

Returns a 200 if all headers are valid no account information is found for the specified accountId

Missing accountIds query parameter

400

Fails with 400 if accountIds query param is missing

Header validations:

Requirement

Scenario

Response

Expected outcome

AIS:

Get accounts

Missing o3-psu-identifier header 

400 

Fails with 400 if o3-psu-identifier is not specified

AIS:

Get accounts

Invalid o3-psu-identifier header - not a base 64 encoded value

400

Fails with 400 if o3-psu-identifier header is invalid - not a base 64 encoded value

AIS:

Get accounts

Invalid o3-psu-identifier header - value is base 64 encoded, but the decoded value is not valid JSON.

400

Fails with 400 if o3-psu-identifier header is invalid - not a valid json

AIS:

Get accounts

Invalid o3-psu-identifier header - the decoded value is valid JSON, but it lacks the userId parameter.

400

Fails with 400 if o3-psu-identifier header is invalid - the decoded value is valid JSON, but it lacks the userId parameter

AIS:

Get accounts

Missing o3-ozone-interaction-id header

400

Fails with 400 if o3-ozone-interaction-id header is not specified

AIS:

Get accounts

Missing o3-api-operation header

400

Fails with 400 if o3-api-operation header is not specified

AIS:

Get accounts

Missing o3-aspsp-id header (o3-provider-id)

400

Fails with 400 if o3-aspsp-id header param is not specified

AIS:

Get accounts

Invalid o3-aspsp-id header (o3-provider-id)

400

Fails with 400 if o3-provider-id header is invalid

GET /accounts/{accountId}/transactions

Scenario

Response

Expected outcome

Valid accountId provided in the path parameter which has a list of transactions

200 

Returns a 200 if all headers are valid and Returns transactions of specified accountId 

7.2 Bank Service

GET payments/{paymentId}

Scenario

Response

Expected outcome

Inquire a 'Pending' Single Immediate domestic payment

Note: When conducting the tests as described above, the main goal is to verify that all payments in different statuses can be accessed with the accurate schema and data structure

200 with payment details in the response

Returns a 200 with correct schema and in the response the payment status is 'Pending', and the paymentId matches the paymentId in the path parameter

7.3 Insurance

<TODO>

7.4 Health Check

<TODO>

  • No labels