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 2 Current »

 MENU

The following test cases have been implemented in the Testing Tool:

  • 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 Testing Tool is updated and new versions of CBUAE Open Finance Standards are released.

1. Bank Data Test Cases

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

Valid accountId which is in NotActive status

200

Returns a 200 if all headers are valid and the status of the account is NotActive

Valid accountId which is in Dormant status

200

Returns a 200 if all headers are valid and the status of the account is Dormant

Valid accountId which is in Unclaimed status

200

Returns a 200 if all headers are valid and the status of the account is Unclaimed

Valid accountId which is in Deceased status

200

Returns a 200 if all headers are valid and the status of the account is Deceased

Valid accountId which is in Suspended status

200

Returns a 200 if all headers are valid and the status of the account is Suspended

Valid accountId which is in Closed status

200

Returns a 200 if all headers are valid and the status of the account is Closed

Combination of valid and invalid ( correct format but there is no data) accountIds

200

Returns a 200 if all headers are valid and returns a record for each valid accountId when both valid and invalid accountIds are specified

No accounts found

200

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

Mix of accountIds in correct and bad format

200

Returns a 200 if all headers are valid and Returns a record for each valid accountId when mix of properly formatted and badly formatted accountIds are specified

Non-comma-separated accountIds

200

Returns a 200 with empty array.

GET /accounts/{accountId}

Scenario

Response

Expected outcome

Valid accountId has been provided: CurrentAccount for retail user in Active status

200

Returns a 200 status code when a valid current accountId is provided in the path parameter which should be present in the response body and the schema aligns with a CurrentAccount for Retail user in Active status

Valid accountId has been provided: CurrentAccount for SME user in Closed status

200

Returns a 200 status code when a valid current accountId is provided in the path parameter, and the schema aligns with a CurrentAccount for SME user in closed status

Valid accountId has been provided: CurrentAccount for Corporate user in Dormant status

200

Returns a 200 status code when a valid current accountId is provided in the path parameter, and the schema aligns with a CurrentAccount for Corporate user in Dormant status

Valid accountId has been provided :Savings for retail user in Suspended status

200

Returns a 200 status code when a valid current accountId is provided in the path parameter, and the schema aligns with a Savings account for retail user in Suspended status

Valid accountId has been provided :Savings for SME user in NotActive status

200

Returns a 200 status code when a valid current accountId is provided in the path parameter, and the schema aligns with a Savings account for SME user in NotActive status

Valid accountId has been provided :Savings for Corporate user

200

Returns a 200 status code when a valid current accountId is provided in the path parameter, and the schema aligns with a Savings account for Corporate user

Valid accountId has been provided: CreditCard for retail user

200

Returns a 200 status code when a valid current accountId is provided in the path parameter, and the schema aligns with a CreditCard account for retail user

Valid accountId has been provided: CreditCard for SME user

200

Returns a 200 status code when a valid current accountId is provided in the path parameter, and the schema aligns with a CreditCard account for SME user

Valid accountId has been provided: CreditCard for Corporate user

200

Returns a 200 status code when a valid current accountId is provided in the path parameter, and the schema aligns with a CreditCard account for Corporate user

A valid accountId has been provided: PrePaidCard for retail user

200

Returns a 200 status code when a valid current accountId is provided in the path parameter, and the schema aligns with a PrePaidCard account for retail user

A valid accountId has been provided: PrePaidCard for SME user

200

Returns a 200 status code when a valid current accountId is provided in the path parameter, and the schema aligns with a PrePaidCard account for SME user

A valid accountId has been provided: PrePaidCard for Corporate user

200

Returns a 200 status code when a valid current accountId is provided in the path parameter, and the schema aligns with a PrePaidCard account for Corporate user

Valid accountId has been provided: EMoney for retail user

200

Returns a 200 status code when a valid current accountId is provided in the path parameter, and the schema aligns with a EMoney account for retail user

Valid accountId has been provided: EMoney for SME user

200

Returns a 200 status code when a valid current accountId is provided in the path parameter, and the schema aligns with a EMoney account for SME user

Valid accountId has been provided: EMoney for Corporate user

200

Returns a 200 status code when a valid current accountId is provided in the path parameter, and the schema aligns with a EMoney account for Corporate user

Valid accountId has been provided: ChargeCard for SME user

200

Returns a 200 status code when a valid current accountId is provided in the path parameter, and the schema aligns with a ChargeCard account for SME user

Valid accountId has been provided: ChargeCard for Corporate user

200

Returns a 200 status code when a valid current accountId is provided in the path parameter, and the schema aligns with a ChargeCard account for Corporate user

Valid accountId has been provided: ChargeCard for Retail user

200

Returns a 200 status code when a valid current accountId is provided in the path parameter, and the schema aligns with a ChargeCard account for Retail user

Valid accountId has been provided: Other for Retail

200

Returns a 200 status code when a valid current accountId is provided in the path parameter, and the schema aligns with a Other account for Retail user

Valid accountId has been provided: Other for Corporate

200

Returns a 200 status code when a valid current accountId is provided in the path parameter, and the schema aligns with a Other account for Corporate user

Valid accountId has been provided: Other for SME

200

Returns a 200 status code when a valid current accountId is provided in the path parameter, and the schema aligns with a Other account for SME user

GET /accounts/{accountId}/balances

back t

Scenario

Response

Expected outcome

Valid accountId provided in the path parameter which has positive balance and credit line included

Note: Repeat the test for all eligible account types within the defined scope.

200

Returns a status code of 200 if all headers are valid and also retrieves the balances of the specified accountId , where the creditDebitIndicator value is 'credit', and the CreditLines are populated with relevant details.

Valid accountId provided in the path parameter which has negative balance and credit line not included

200

Returns a status code of 200 if all headers are valid and also retrieves the balances of the specified accountId, where the creditDebitIndicator value is 'debit', and the CreditLines object is not present.

Note: Add additional validations to check the schema of the amount especially for whole number to have the decimal formatting as required.

Valid accountId provided in the path parameter which has zero balance

200

Returns a 200 if all headers are valid and Returns balances of specified accountId with creditDebitIndicator value as ‘credit’

Note: A zero balance is considered to be a credit balance.

Valid accountId provided in the path parameter which holds international currency

200

Returns a 200 if all headers are valid and Returns balance in international currency of 3 character alphabetic code

Valid accountId provided in the path parameter which has more than one balanceType and balanceType query param is not supplied

200

Returns a status code of 200 if all headers are valid and provides the balances associated with the specified accountId, including all available balance types for that account.

Returns empty response when balanceType passed in the query param doesn’t fetch any response

200

Returns a 200 with empty array

Return balances when a specific ‘{balanceType}’ is passed in the request

200

Returns a 200 if all headers are valid and Returns only balance with type '{balanceType}'

Returns 400 response when balanceType is not valid

400

fails with 400 if balanceType is invalid

Invalid accountId

400

fails with 400 if accountId format is invalid

Missing accountId path parameter

401

fails with 401 if accountId path param is missing

GET /accounts/{accountId}/beneficiaries

Scenario

Response

Expected outcome

A valid accountId is provided in the path parameter, which contains payees categorised as 'Activated' and 'NotActivated' under the BeneficiaryType.

200

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

A valid accountId is provided in the path parameter, which contains payees having AddressType as Business, Correspondence, DeliveryTo,MailTo,POBox,Postal,Residential,Statement

200

Returns a 200 with multiple payees in the response which has addressTypes as Business, Correspondence, DeliveryTo,MailTo,POBox,Postal,Residential,Statement

Valid accountId provided in the path parameter which has a empty payees

200

Returns a 200 with empty array if all headers are valid accountId Returns no payees

Missing accountId path parameter

400

fails with 400 if accountId is missing

Invalid accountId

400

fails with 400 if accountId format 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

Filter the transactions based on fromBookingDateTime query param

200

Returns a 200 with list of transactions from

fromBookingDateTime until latest available transaction

Filter the transactions based on toBookingDateTime query param

200

Returns a 200 with list of transactions from

the earliest available transaction till toBookingDateTime

Filter the transactions based on fromBookingDateTime and toBookingDateTime query params

200

Returns a 200 with list of transactions within

fromBookingDateTime and toBookingDateTime query params

Valid accountId provided in the path parameter which has empty transactions

200

Returns a 200 with empty array if all headers are valid accountId Returns no transactions

Return error response when toBookingDateTime is before fromBookingDateTime

400

Returns 400 when toBookingDateTime is before fromBookingDateTime

Return error when fromBookingDateTime is invalid

400

Returns 400 when fromBookingDateTime is invalid

Return error when toBookingDateTime is invalid

400

Returns 400 when toBookingDateTime is invalid

Invalid accountId

400

fails with 400 if accountId format is invalid

GET /customer

id

Scenario

Response

Expected outcome

CUS-010-040

Valid o3-psu-identifier provided in the header which belongs to a retail user

200

Returns a 200 status code with details of a retail user in the response as per the schema

 

Valid o3-psu-identifier provided in the header which belongs to a corporate user

200

Returns a 200 status code with details of a corporate user in the response as per the schema

Valid o3-psu-identifier provided in the header which belongs to a SME user

200

Returns a 200 status code with details of a SME user in the response as per the schema

CUS-010-190

Valid o3-psu-identifier provided in the header which has no customer associated

200

Returns a 200 status code with empty data object

back to top

GET /accounts/{accountId}/customer

Scenario

Response

Expected outcome

A valid accountId is provided in the path parameter

200

Returns a 200 status code when all headers are valid and provides the associated customer details linked to the accountId provided in the request

Note: Make sure in the schema validations, fields required for the chosen customer type are returned by LFI correctly

Valid accountId provided in the path parameter which has no associated parties

200

Returns a 200 status code with empty data array

GET /accounts/{accountId}/direct-debits

 

Scenario

Response

Expected outcome

Valid accountId provided in the path parameter which has direct-debits in Active and Inactive status

200

Returns a 200 if all headers are valid and Returns direct-debits of specified accountId in descending/ascending order of which date?

Valid accountId provided in the path parameter which has direct-debits of frequencies Annual, Daily,Fortnightly, HalfYearly,Monthly,NotKnown,Quartely, Weekly

200

Returns a 200 if all headers are valid and Returns direct-debits of specified account which has direct-debits of frequencies Annual, Daily,Fortnightly, HalfYearly,Monthly,NotKnown,Quartely, Weekly

Valid accountId provided in the path parameter which has a empty direct debits

200

Returns a 200 with empty array if all headers are valid and accountId Returns no direct-debits

Missing accountId path parameter

400

fails with 400 if accountId is missing

Invalid accountId

400

fails with 400 if accountId format is invalid

GET /accounts/{accountId}/scheduled-payments

 

Scenario

Response

Expected outcome

Valid accountId provided in the path parameter which has scheduled-payments in “Arrival” and “Execution” states

200

Returns a 200 if all headers are valid and Returns scheduled-payments of specified accountId in descending/ascending order of which date?

Valid accountId provided in the path parameter which has creditorAccount schemeName as IBAN and AccountNumber

200

Returns a 200 if all headers are valid and Returns scheduled-payments of specified accountId with correct creditoraccountIdentification

Valid accountId provided in the path parameter which has a empty Schedule Payments

200

Returns a 200 with empty array if all headers are valid and accountId Returns no scheduled-payments

Missing accountId path parameter

400

fails with 400 if accountId is missing

Invalid accountId

400

fails with 400 if accountId format is invalid

GET /accounts/{accountId}/standing-orders

Scenario

Response

Expected outcome

Valid accountId provided in the path parameter which has standing-orders in Active and Inactive status

200

Returns a 200 if all headers are valid and Returns standing-orders of specified accountId in descending/ascending order of which date?

Valid accountId provided in the path parameter which has standing-orders of type BetweenMyAccounts, SameBankTransfer, LocalBankTransfer, InternationalTransfer, Charity

200

Returns a 200 if all headers are valid and Returns standing-orders of specified accountId which has different SOs like BetweenMyAccounts, SameBankTransfer, LocalBankTransfer, InternationalTransfer, Charity

Valid accountId provided in the path parameter which has a empty standing-orders

200

Returns a 200 with empty array if all headers are valid and accountId Returns no standing-orders

Missing accountId path parameter

401

fails with 401 if accountIdis missing

Invalid accountId

400

fails with 400 if accountId format is invalid

Common header validations:

Scenario

Response

Expected outcome

Missing o3-psu-identifier header 

400 

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

Invalid o3-psu-identifier header - not a b64 encoded value

400

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

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

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

Missing o3-ozone-interaction-id header

400

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

Missing o3-api-operation header

400

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

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

400

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

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

400

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

2. Bank Service Test Cases

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.

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.

3. Insurance Test Cases

<TODO>

4. Health Check Test Cases

<TODO>

  • No labels