Додаток 3. Приклад тест-кейсів для контрактного тестування
Редакція OpenBanking Ukraine
Цей додаток містить приклади тест-кейсів для контрактного тестування AIS API: отримання ідентифікатора рахунку (resourceId), балансу та списку транзакцій.
Тест-кейс №1. Отримати ідентифікатор рахунку
| Параметр | Опис |
|---|---|
| Передумова | ● PSU має діючий рахунок в UAH/USD/EUR в ASPSP (України). ● Є діюча згода PSU, де вказаний тип доступу: отримання балансу (access = balances) та/або отримання списку транзакцій (access = transactions). Примітка: за замовчування при наданні згоди встановлюється обов’язковий технічний доступ (access = accountDetails) для отримання ідентифікатору рахунку (resourceId). |
| Кроки виконання | AISP здійснює виклик: 1. GET /v2/accounts {query-parameters} для отримання ідентифікатору рахунку (resourceId) |
| Очікуваний результат | Позитивний: ● ідентифікатор рахунку (resourceId) отриманий, HTTP status code = 200. Негативний: ● ідентифікатор рахунку (resourceId) не отриманий, HTTP status code не = 200 у зв’язку з некоректними даними у запиті: невідповідність або невалідність даних QWAC та Реєстрі платіжної інфраструктури; недійсний/некоректний consentId; некоректний IBAN; балансовий рахунок не дорівнює 2600, 2620; IBAN не належить цьому ASPSP; некоректний request syntax; * некоректний semantics. |
| Постумова | Отриманий ідентифікатор рахунку (resourceId) для виконання тест-кейсу 2 або 3. |
Тест-кейс №2. Отримати баланс по рахунку
| Параметр | Опис |
|---|---|
| Передумова | ● PSU має діючий рахунок в UAH/USD/EUR в ASPSP (України). ● Є діюча згода на надання відомостей з рахунку, де вказаний тип доступу: отримання балансу (access = balances). ● Позитивний очікуваний результат по тест-кейсу 1. |
| Кроки виконання | AISP здійснює виклик: 1. GET /v2/accounts/{account-id}/balances для отримання балансу по рахунку. |
| Очікуваний результат | Позитивний: ● Баланс по рахунку отриманий, HTTP status code = 200. Негативний: ● Баланс по рахунку не отриманий, HTTP code не = 200 у зв’язку з некоректними даними у запиті: невідповідність або невалідність даних QWAC та Реєстрі платіжної інфраструктури; недійсний/некоректний consentId; у згоді на цей рахунок відсутні права на отримання балансу (access = balances); переданий некоректний IBAN; переданий некоректний accountId (це resourceId, отриманий у тест-кейсі 1); балансовий рахунок не дорівнює 2600, 2620; IBAN не належить цьому ASPSP; некоректний request syntax; * некоректний semantics. |
| Постумова | Відсутня. |
Тест-кейс №3. Отримати списку транзакцій
| Параметр | Опис |
|---|---|
| Передумова | ● PSU має діючий рахунок в UAH/USD/EUR в ASPSP (України). ● Є діюча згода PSU, де вказаний тип доступу: отримання списку транзакцій (access = transactions). ● Позитивний результат по тест-кейсу 1. |
| Кроки виконання | AISP здійснює виклик: 1. GET /v2/accounts/{account-id}/balances для отримання списку транзакцій. |
| Очікуваний результат | Позитивний: ● Отримання списку транзакцій по рахунку, отриманий HTTP status code = 200. Негативний: ● Список транзакцій по рахунку не отриманий, HTTP code не = 200: невідповідність або невалідність даних QWAC та Реєстрі платіжної інфраструктури; недійсний/некоректний consentId; у згоді на цей рахунок відсутні права на отримання списку транзакцій (access = transactions); переданий некоректний IBAN; балансовий рахунок не дорівнює 2600, 2620; переданий некоректний accountId (це resourceId, отриманий у тест-кейсі 1); IBAN не належить цьому ASPSP; некоректний request syntax; * некоректний semantics. |
| Постумова | Відсутня. |
Примітки щодо полів QWAC
- TPP Registration Number —
OrganizationIdentifierу QWAC. Наприклад, PSDU-NBU–123456, де 123456 — це код ID НБУ (NbuId) – єдиний ідентифікатор, що присвоюється Національним банком України установі. - TPP Name — це поле Organization (O) у QWAC.
- TPP Role — RolesOfPSP(0.4.0.19495.1)X509v3 extensions.qcStatements.
- TPP National Competent Authority —
OrganizationIdentifier– PSDU-NBU.